Commit Graph

602 Commits

Author SHA1 Message Date
Allen Byrne
907a5a1df0 [svn-r20713] Packed Bits Merge:
removed option defines and #ifdef/#endif
   refactored all printf to HDfprintf in h5dump.c
   formatted and indention improvements
   synched with 1.8 branch
   
Tested: local linux
2011-05-03 12:56:23 -05:00
Allen Byrne
87994982f9 [svn-r20677] Merge packed bits option from 1.8 branch to trunk. CMake only. Autotools merge to come.
Tested: local Linux
2011-04-29 13:38:41 -05:00
Jonathan Kim
170e7e53a5 [svn-r20676] Purpose:
- HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects

Description:
    Fixed:
    1) adding h5tools_is_obj_same() function to check if two given IDs or paths point to the same object. This function can be very useful for other tools and applications.
    2) using h5tools_is_obj_same() at h5diff() and diff() in h5diff.c. If two paths point to the same object, there is no need to check the details of the object since we know there is no difference. The fix will increase the performance by skipping the content comparison. It also fixed the problem of reporting difference for some cases of comparing the same file, e.g. empty files or files with incomparable objects the same file.

    Test update:
    Updat prvious test cases (171, 172, 530) affected by this fix, so they
    still perfrom originally intended testing without bypassing.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
2011-04-29 12:02:31 -05:00
Raymond Lu
65794c39bf [svn-r20626] Albert's test on bp reveals that the dumper had assertion failure when it tried to display empty attribute data. I added
a check for empty attribute in h5dump.c. I also added a check for empty dataset in tools/lib/h5tools.c.

Tested on jam.  But I tested the same changes in 1.8 on jam, linew, and amani.
2011-04-25 11:59:51 -05:00
Quincey Koziol
53eb528071 [svn-r20539] Description:
Bring Coverity changes back to trunk:

r20276:
Add recursive is vlen string function.
Cleanup resource leaks for issues: 200,202,329,688,811,812


r20277:
Check types and close by adding error section: issue 687


r20278:
Replaced implicit pointer conversion with (ocrt_info.new_obj != NULL).


r20280:
Addressed coverity issues 927-929 & 583.  The real issue is failure to check 
file name length -- at least at the H5FD interface level.  This needs more work, but at least I have dealt with the issue in H5FDfamily.c


r20337:
H5O_type_t  obj_type = H5O_TYPE_UNKNOWN;


r20338:
Added udata.name = NULL; to prevent potential uninitialized use after done: label.


r20339:
coverity issues: 686,828,1670-1673,1707-1711


Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        FreeBSD/32 8.2 (loyalty) w/gcc4.6, in debug mode
        FreeBSD/64 8.2 (freedom) w/gcc4.6, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
2011-04-18 05:18:47 -05:00
Quincey Koziol
9431c7a97e [svn-r20536] Description:
Clean up various warnings & code formatting issues.

	Bring changes from Coverity branch to trunk:

r20085:
Purpose: Fix coverity issue 793

Description: Modified H5S_hyper_project_simple_higher() to free the entire span
list in new_space on failure.


r20091:
This is a fix for coverity bug #1683.
Changed the two printfs to use %lu (unsigned long) for printing "dset_size".


r20162:
Purpose: Fix coverity issue 785

Description: Modified H5T_enum_nameof() to free "name" on failure if it was
allocated.  Also clarified some code in H5S_hyper_rebuild_helper().


r20189:
Addressed coverity defect 783.

H5SL_new_node() in H5SL.c was failing to free space allocated in its
first alloc if the second alloc failed.  Added a call to H5FL_FREE
to address this issue.

This is purely to keep coverity happy -- if this code is ever triggered,
we have much larger problems.

Note that this fix will trigger an unused return value complaint
from coverity next week.


r20190:
Fixed Coverity issues 1561 1565 and 1678 (UNUSED_VALUES) by moving checks of return values to after the function call.


r20191:
Fixed coverity issues 643 644 and 1678 (CHECKED_RETURN).


r20232:
Addressed coverity issues 923-925.  Replaced calls to sprintf with calls
to HDsnprintf.


r20233:
Fix coverity issue 662.  Don't try to sort 0 attributes in H5Aint.c.


r20234:
Fix coverity issue 664.  Check for NULL before dereferencing in H5Gdeprec.c.


r20271:
Purpose: Fix coverity issue 784

Description: Modified H5_debug_mask() to keep a list of files opened for use as
a debugging output stream, and modified H5_term_library to close these files on
exit.


r20272:
addressed coverity issues 838 & 955.  Issue was use of strcpy() -- existing
code was safe, but modified to use strncpy() to keep coverity happy.


r20273:
Addresed coverity issues 1388 and 1389.
Initialized sel_iter->type to NULL in H5S_select_iter_init.


r20275:
Purpose: Fix valgrind issue in mf.c

Description: Fixed bug (incomplete if statement) in test_mf_fs_alloc_free() so
the retrieved node gets freed.


Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-17 13:57:07 -05:00
Mike McGreevy
98362b664c [svn-r20504] Purpose:
General shared library improvements for CYGWIN / AIX

Description:

    Shared libraries are disabled on both CYGWIN and AIX due
    to inability to build them correctly. Part of the problem
    in both of these situations is the lack of the libtool
    flag -no-undefined, which tells libtool that all needed
    symbols are defined at link time (a requirement on these
    systems) and that it's okay to build shared libraries.

    Another problem are lack of dependencies between wrapper
    libraries and core C HDF5 library.

    This patch addresses both of these by fixing configure to
    add in -no-undefined flag for libtool during linking and
    adds automake dependencies in the Makefile.am files.

    After testing, both CYGWIN and AIX now generate shared
    libraries, but there are still some test failures in each.
    (cache_api, dt_arith, and testerror.sh on CYGWIN, and
    fortran tests on AIX).

    Even though the shared libraries are not quite perfect,
    this is a general improvement to what we had before, so
    I'm applying the patch anyways. Note that default behavior
    of shared libraries on these systems being disabled has
    NOT been changed and requires the use of the
    --enable-unsupported to attempt to build them.

    We will need to address the test failures in each
    architecture prior to formally supporting shared
    libraries on each.

Tested:

    h5committested & CYGWIN tested (on bangan)
    (AIX tested by Albert on bp-login2)
2011-04-14 16:21:59 -05:00
Mike McGreevy
a45c7424b2 [svn-r20502] Purpose:
Add "silent make" mode configure option.

Description:

    Automake 1.11 has a new option available that allows for a
    silent make mode. This functionality needs to be explicitly
    enabled in configure.in via the use of the automake macro
    AM_SILENT_RULES, which is what this commit is adding.

    This introduces a new configure option: 

        --{en|dis}able-silent-rules

    This option is on by default, and simplies compile and link
    line outputs when building the library. Disabling this option
    will print full "verbose" output (i.e., full compile and
    linking lines for each target).

Tested:

    This was tested on jam & h5committested
2011-04-14 14:45:57 -05:00
Quincey Koziol
e4c6ef2f06 [svn-r20480] Description:
Remove global variable for the path name in the group traversal code.  Also
clean up a bunch of compiler warnings.

Tested on:
    Mac OS X/32 10.6.7 (amazon) w/debug & production
    FreeBSD/32 6.3 (duty) w/debug
    FreeBSD/64 6.3 (liberty) w/debug
    Solaris/32 2.7 (linew) w/debug
2011-04-12 11:59:33 -05:00
Mike McGreevy
e006157deb [svn-r20475] Purpose:
- Revise shared Fortran library disabling scenarios in configure
    - Improve configure output summary

Description:

    Shared Fortran libraries are not supported on Mac, but were being
    disabled by configure in a way that also forced the C libraries
    to be static-only. This has been fixed, so now only shared Fortran
    is disabled while shared C can remain.

    This prompted two additional changes:

        1. While working on the check that addresses whether or not
           shared Fortran libraries are allowed, removed old and no
           longer needed check(s) that disable shared Fortran
           libraries with HP, Intel 8, PGI, and Absoft compilers.
           (Essentially, Mac is the only situation in which Fortran
           shared are disabled by configure.)

        2. Having two different states of libraries (i.e. shared C
           library with static-only Fortran library) was not apparent
           in the configure summary, which labeled all libraries as
           either shared and/or static. I've added lines to both the
           C++ and Fortran output sections to list shared/static-ness
           of these libraries specifically.

    Additionally, I've made sure that the new --enable-unsupported
    configure option correctly overrides configure if it tries to
    disable a shared library.

Tested:

    jam, fred, & h5committest
2011-04-11 16:00:38 -05:00
Jonathan Kim
553e452ce4 [svn-r20384] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Merged from HDF5 1.8 branch r20369.
    Fixed h5diff for --use-system-epsilon option: the calculation changed
    from ( |a - b| / b ) to ( |a - b| ). This was decided for better 
    performance and was corrected only in HDF5 trunk, so 1.8 got updated.
    Also comments for equal_XXX() function were updated correctly. 
    Also help page and RM got updated correctly.
    Also add test cases for testing the differences w/wo the option.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE)
2011-03-31 16:43:46 -05:00
Jonathan Kim
4147de8d02 [svn-r20294] Purpose:
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the 
    different set of attributes (different number and names)

Description:
    Previously h5diff compared attributes correctly only when two objects have 
    the same number of attributes and attribute names are identical.
    This fix covers all other cases.
    Also didn't display useful information about attribute difference.
    This fixes both issues.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-03-22 10:47:07 -05:00
Jonathan Kim
f92d2371ff [svn-r20285] Purpose:
Improve the previous fix for Bug 2216 - GMQS: h5diff - memory leak when 
    compares vlen string in dataset or attributes

Description:
    Related to the previous checkin r20270 and r20266.
    Improve h5tools_detect_vlen() code for better performance. H5Tdetect_class
    already recusive on given type so don't need to be part of recusive call
    again. Also improve error handlings in h5tools_detect_vlen and 
    h5tools_detect_vlen_str functions.
    Also updated h5ls and h5dump code accordingly.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake - jam
2011-03-21 18:02:31 -05:00
Jonathan Kim
f845e716bc [svn-r20274] Purpose:
Fixed Bug 2214 - GMQS: h5diff - memory leak in diff()

Description:
    Memory leaks occurred when accessing symbolic links with --follow-symlink
    option. 
    Test cases are in testing script. (400 - 456, 501 - 518)
    An example test : valgrind  --leak-check=full  h5diff --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlinks.h5

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake - jam
2011-03-18 15:13:16 -05:00
Jonathan Kim
d697acbfb5 [svn-r20270] Purpose:
Improve the previous fix for Bug 2216 - GMQS: h5diff - memory leak when 
    compares vlen string in dataset or attributes

Description:
    Improve the fix along with the previous checkin r20266.
    Add a new function to tool lib, h5tools_detect_vlen_data() which return 
    TRUE if include any kind of vlen data all at once, either VLEN-data or 
    VLEN-string and so on.
    Also updated h5ls and h5dump code accordingly.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake - jam
2011-03-18 13:50:19 -05:00
Jonathan Kim
e8d97aef7d [svn-r20266] Purpose:
Fixed Bug 2216 - GMQS: h5diff - memory leak when compares vlen string in 
    dataset or attributes

Description:
    Test for dataset : valgrind  --leak-check=full  ./h5diff -v h5diff_dset1.h5 h5diff_dset2.h5 /g1/VLstring
    Test for attr : valgrind --leak-check=full ./h5diff h5diff_attr1.h5 h5diff_attr2.h5
    Both test cases are in testing script.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake - jam
2011-03-17 18:00:14 -05:00
Allen Byrne
5ed4eda59e [svn-r20247] Change name of new VLEN function from H5Tdetect_vlen_str to h5tools_detect_vlen_str to match other functions in tools lib.
Added back test for H5Tdetect_class of H5T_VLEN after each instance of above function to catch all VLEN types in h5dump.

Tested: local linux
2011-03-14 16:03:20 -05:00
Allen Byrne
1eedd5b750 [svn-r20222] Correct mistake by declaring indexing variable removed from for at top of function. 2011-03-10 08:27:29 -05:00
Allen Byrne
55cd5326f3 [svn-r20221] Remove rougue 'int' inside for loop (cut-paste error) - windows complained. 2011-03-10 07:10:36 -05:00
Allen Byrne
5b3223c7c5 [svn-r20216] Valgrind fix for memory leak in h5tools_dump_xxx which is fixed by adding a new function;
htri_t H5Tdetect_vlen_str(hid_t tid) to h5tools. This needs to be called before any H5Aread/H5Dread and if TRUE, then call vlen_reclaim function after the corresponding h5tools_dump_xxx().

Tested: local linux and valgrind
2011-03-09 15:00:20 -05:00
Peter Cao
a56b49aaba [svn-r20206] Updated manifest and source code for fixing h5dump -y -o problem 2011-03-09 08:07:38 -05:00
Jonathan Kim
0619b155aa [svn-r20188] Purpose:
Fixing Bug 2161 - GMQS: h5dump - only on Windows, skip displaying a data value every a certain lines in array type dataset

Description:
    Fixed h5dump for skipping some values for long array type dataset on 
    Windows. This issue only occurred on Windows due to the different 
    return behavior from _vsnprintf() funtion.
     
Tested:
 Windows, jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-03-04 11:21:26 -05:00
Jonathan Kim
bb294c2b1e [svn-r20108] Purpose:
Fixing Bug 2092 - h5dump does not display index for a dataset

Description:
    h5dump skip displaying array indices every certain number when the 
    array type dataset is relatively big. The certain number varies 
    according to the size of each array. 
    This checkin fix the skipping array indices problem. This fix also
    correct indentation of the dataset data output.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-02-15 14:28:48 -05:00
Quincey Koziol
2fbca68293 [svn-r20070] Description:
Switch order of system includes, to correct error on FreeBSD machines.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
2011-02-09 09:48:42 -05:00
Quincey Koziol
575469a6a7 [svn-r20065] Description:
Bring changes from Coverity branch to trunk:

r19975:
Fixed potential mem leak at H5O_attr_open_by_name

r19980:
Fix coverity issue 792.
Free tmp_env_prefix in H5Lexternal.c line 365 if it is not NULL but its contents are 0 when it goes out of scope.

r20039:
Eliminate warnings about nested extern and implicit declarations of parallel_print and address Coverity defects 712-781 by #including h5tools_utils.h in h5diff_array.c, h5diff_attr.c, h5diff_dset.c and h5diff_util.c.

r20046:
Purpose: Address TOCTOU warnings in h5jam and h5unjam

Description: Coverity is afraid that the state of the input file could change
between the call to stat() and the call to open().  This is called a time-of-
check time-of-use (TOCTOU) vulnerability.  Modified stat calls to fstat which
uses an open file pointer so it (hopefully) won't complain any more.

r20047:
Addressed coverity issues 135-137, 462-464.  Local pointers that needed to be freed in case of error were moved out of a switch statement in src/H5Tnative.c, set to NULL, and checked before freeing.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-08 16:35:54 -05:00
Quincey Koziol
a6d5fa2c7d [svn-r20061] Description:
Bring changes from Coverity branch to trunk:

r19930:
Fix memory leaks involving VL attributes in h5repack and h5diff.  The buffers in
copy_attr and diff_attr were not checked for the presence of a vlen before being
freed, and vlen storage was never reclaimed.  Added checks and calls to
H5D_vlen_reclaim().

r19933:
Purpose: Fix memory leak in H5L_move_cb()

Description: H5L_move_cb copied the source link using H5O_msg_copy() but freed
it manually using H5MM_xfree().  Since H5O_link_copy allocates the link using
H5FL_MALLOC, this causes the link to be allocated from the free list but is
never put back on the free list when it is freed.  This prevents the link free
list from shutting down properly.  Modified H5L_move_cb() and H5L_move_dest_cb()
to free the link properly using H5O_msg_free().

r19973:
Fix resource leaks by freeing string created by HD5f2string

r19974:
Issue #345: Inialize buf variable to null

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-07 19:53:45 -05:00
Quincey Koziol
ff845ed8b1 [svn-r20052] Description:
Clean up Coverity warnings, and fix some style issues:

r19735:
Fix for memory leak in test/mf found by valgrind.

r19736:
Fix memory leak in h5repack.  The buffer in copy_objects, when copying the
entire dataset at once, was not checked for the presence of a vlen, and vlen
storage was never reclaimed.  Added check and call to H5D_vlen_reclaim().

r19772:
Change H5assert() to
   if (H5T_VLEN != src->shared->type || H5T_VLEN != dst->shared->type)
          HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype")

r19774:
removed unused priv.

r19775:
removed unused variables

r19778:
Fix memory leak comparing for variable length data types.

r19834:
Fixed memory leaks found by valgrind.  Memory errors remain for another day.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on branch)
2011-02-05 22:24:42 -05:00
Allen Byrne
f3c2eb9acf [svn-r19918] Add hh modifier to signed char printf format string. Added h5dump test to verify that signed/unsigned datasets print correctly.
Bring solution from 1.8 packed bits fix which solved problem on heiwa with Signed char of 8 bits
Tested: local linux
2011-01-05 15:18:16 -05:00
Allen Byrne
02888be7f2 [svn-r19909] Change how LINK_FLAGS for fortran are appended on Windows
bring r19908 from 1.8 branch
2011-01-05 09:46:08 -05:00
Jonathan Kim
562ba69f35 [svn-r19892] Purpose:
Bug 2089 - GMQS: h5diff segfault on a compound dataset with fixed length + 
    vlen string type order

Description:
    This is fix for the segfault when h5diff compares a compound dataset with 
    combination of fixed length string types and vlen string types in certain 
    orders. Optimized vlariable length string handling codes. The fix is 
    referred from h5dump handling vlen strings. 
    For testing, several compound datasets were added with various combinations.
    Previous failed cases:
     - Vlen string, Fixed length string, Vlen string, Fixed length string
     - Fixed length string, Fixed length string, Vlen string, Vlen string
     - Fixed length string, Vlen string, Fixed length string, Vlen string
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2010-12-28 13:08:40 -05:00
Larry Knox
72634b34e4 [svn-r19839] Updated to libtool v 2.4, autoconf 2.68 and m4-1.4.15.
Tested with h5committest on amani, heiwa, and jam.
2010-11-23 17:56:59 -05:00
Jonathan Kim
ed45b7472e [svn-r19759] Purpose:
Fix compile error for Windows from previous checkin r19757.

Description:
    Previous log:
    Improve h5diff performance.
    The following changes for improving h5diff performance:
    1) use HDmemcmp() before comparing each elements 
       (memcmp() is very fast at both linew and jam)
    2) replace the expensive H5Tequals() calls
    3) retrieve datatype information at dataset level not each element level 
       for compound datasets


Tested:
 jam (linux32-LE), Windows
2010-11-11 11:51:59 -05:00
Jonathan Kim
40d56dd20c [svn-r19757] Purpose:
Improve h5diff performance.

Description:
    The following changes for improving h5diff performance:
    1) use HDmemcmp() before comparing each elements 
       (memcmp() is very fast at both linew and jam)
    2) replace the expensive H5Tequals() calls
    3) retrieve datatype information at dataset level not each element level 
       for compound datasets


Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2010-11-11 10:23:44 -05:00
Jonathan Kim
e45cfcb9ee [svn-r19712] Purpose:
Fixed h5diff to handle variable-length strings in a compound dataset 
    correctly. Also variable-length string array in a compound dataset.
    Bug #1989.
    

Description:
    Garbage values were displayed when h5diff compared variable-length 
    strings (or string array) in a compound type dataset. 


Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (Mac32)
2010-11-02 11:39:42 -05:00
Quincey Koziol
ba66540462 [svn-r19654] Description:
Bring Coverity revisions from branch back to trunk, and clean up some other
misc. compiler warnings also.

r19500:
Fix coverity items 1446 and 1447.  Moved up calls to memset in test_cont in
ohdr.c so the test never tries to close uninitialized locations.

r19501:
Fix coverity items 1398-1445.  Various uninitialized variable errors in fheap.c.

r19502:
Fixed coverity issue 579 and some additional warnings in the file as well.

r19503:
Bug fix: This fix addressed the "RESOURCE_LEAK" problems #789 and 790, run 26

r19504:
minor mods to try to keep coverity from flagging false positives.

r19505:
Fixed coverity issues 566 - 571.  Declared variables that are passed to functions that use them as arrays to be arrays of size 1.


Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel
    (h5committested on trunk)
2010-10-21 08:08:44 -05:00
Larry Knox
155b00d8ff [svn-r19506] Bring changes from revisions 19408, 19421, and 19442 from branches/hdf5_1_8 to trunk. These revisions reorganize the compile scripts using h5cc.in, h5fc.in, and h5c++.in, add checks for installed examples to the scripts that run them after installation, and add DESTDIR for install as needed for RPMs.
Tested on amani, heiwa and jam by h5committest and with CYGWIN.
2010-10-04 12:15:30 -05:00
Jonathan Kim
04a7315138 [svn-r19443] Purpose:
Fix for group comparison with exclude-path case. Use relative path.

Description:
 Related to "1890:  h5diff excluding object for file comparison via command line" checkins. (r19406)

Tested:
 jam, amani and heiwa
2010-09-20 17:11:50 -05:00
Allen Byrne
b4be8ae3d5 [svn-r19434] Correct use of lib, include, bin in INSTALL commands to use proper variables.
Tested: local linux
2010-09-20 15:38:35 -05:00
Allen Byrne
8394d611f2 [svn-r19418] On windows, an include bypassed the WIN32_LEAN_AND_MEAN define. Moved the define up. Moved the h5dif.h to after the h5private include
Tested: Windows
2010-09-17 13:05:32 -05:00
Jonathan Kim
eb7b5b2cef [svn-r19406] Purpose:
Add --exclude-path option

Description:
 Specified path to an object will be excluded from comparing the two files or two groups. If group is specified all the member objects will be excluded.
 Related to "1890:  h5diff excluding object for file comparison via command line"

Tested:
 jam, amani and heiwa
2010-09-16 16:46:16 -05:00
Jonathan Kim
c561dc7183 [svn-r19400] Purpose:
Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object

Description:
 Compare member objects and groups recursively when two files or groups are specified to be compared. Support parallel diff and handling symbolic links accordingly.

Tested:
 jam, amani, heiwa
2010-09-16 12:48:06 -05:00
Larry Knox
47c792faa0 [svn-r19366] Updated autoconf to version 2.6.7, libtool to version 2.2.10, and m4 to version 1.4.14. Also added m4 directory for m4 macros according to autoconf suggestion.
Tested with h5committest on amani, jam, and heiwa, and on linew.
2010-09-10 10:45:07 -05:00
Allen Byrne
e65aa8c365 [svn-r19325] Added parallel build commands.
Corrected use/name of source folder aliases.
Duplicated FindMPI.cmake so that non-c++ compiler is found first (recommemded commands did not work).

Tested: local linux with mpich
2010-08-31 15:15:13 -05:00
Allen Byrne
5c549a6345 [svn-r19300] BZ 1958: Add h5dump xml tests to CMake support
Tetsed: local linux
2010-08-25 17:33:59 -05:00
Quincey Koziol
0cd7123fb6 [svn-r19292] Description:
Merge r19290 & r19291 from 1.8 branch to trunk:

r19290:
Correct another error in metadata accumulator dirty region calculations
(this time with a corner case when freeing data in the file).

r19291:
Avoid getting object information for soft/external links if we aren't
going to traverse across the link itself.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-24 16:03:32 -05:00
Allen Byrne
f4c75504d4 [svn-r19262] Undo r19261. 2010-08-20 10:48:12 -05:00
Allen Byrne
4050bd2422 [svn-r19261] Remove unused variables and allocation
Tested: local linux
2010-08-20 10:38:15 -05:00
Quincey Koziol
2f6e3cb5be [svn-r19252] Description:
Bring Coverity changes from branch to trunk:

r19161:
Fixed the part for matching the subset info with dataset

r19189:
BZ1646: h5dump does not check number of dimensions for subsetting parameters against the dataset

Changed subset_t structure from holding hsize_t pointers to holding new subset_d pointers, which hold the original hsize_t pointer + len. this len is then checked against dataset ndims in the handle_dataset function of h5dump.

Changed all references to use new data structure.

Added tests for each subset parameter.

r19190:
Added new h5dump ddl files

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (h5committested on branch)
2010-08-19 14:55:48 -05:00
Quincey Koziol
54d5a565f9 [svn-r19237] Description:
Clean up misc. compiler warnings.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-12 16:11:00 -05:00
Allen Byrne
eee9ca47a1 [svn-r19202] [BZ1953]implementation for the proposed changes suggested by the "h5dump_output_option" RFC. This required that the region reference code be duplicated and reduced to allow the do_bin_output() function to understand region references. The container type-id also needed to be propagated into the do_bin_output() function and functions referenced (render_bin_output*).
Existing tests tested the binary function, so only one test was added to test the region reference generated file.
Tested: local linux
2010-08-09 13:15:37 -05:00
Allen Byrne
6d22b60931 [svn-r19183] Corrected h5repack verbose test for windows
Updated tools/lib source dir variable for source list

Tested: local linux
2010-08-06 12:53:52 -05:00
Quincey Koziol
7fe87a2472 [svn-r19153] Description:
Bring changes on Coverity branch back to trunk:

r19040:
Fixed coverity #440 - NULL check after dereference.  We moved the NULL check up
into the IF block and changed it to assertion.

r19041:
Maintenance: Addressed Coverity issues 441 and 449 by initializing proper
variables

r19042:
In function H5O_chunk_protect (H5Ochunk.c):
 - Initialize H5O_chunk_proxy_t pointers chk_proxy and ret_value.
 - Free chk_proxy on error.

r19043:
Addressed coverity issues 442 - 448 by initializing pointers to NULL.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (Too minor to require h5committest)
2010-07-29 14:07:26 -05:00
Larry Knox
10a8b060ca [svn-r19059] Brought changes from hdf5_1_8 to add version information for fortran and c++ compilers in libhdf5.settings file and configure output (r18836), to install examples as part of make install (r18680), and to provide scripts to compile and run the examples after they are installed (r18817).
Tested with new/h5committest on amani, heiwa, and jam.
2010-07-08 21:52:14 -05:00
Jonathan Kim
af749bafb7 [svn-r19051] Purpose:
Add --no-dangling-links option to h5ls. 

Description:
Related to "Bug 1830 - Following an dangling external link in h5ls should set non-zero return code."
If --no-dangling-links option is specified and any dangling link is found, return exit code 1 (error).

Tested:
 jam, amani and heiwa
2010-07-07 13:52:04 -05:00
Jonathan Kim
a5ca9e6ba9 [svn-r18873] Purpose:
Rename '--follow-links' to '--follow-symlinks' 

Description:
    The '--follow-links' option is to follow symbolic links (soft and external).
    Make the name more intuitive and specific to the feature.

Tested:
    jam, amani and linew
2010-05-21 15:12:22 -05:00
Allen Byrne
80e6dfe3ba [svn-r18856] Added CPack commands for installtion program
Tested: local linux and Windows
2010-05-19 15:11:00 -05:00
Allen Byrne
a6698e571c [svn-r18816] Move progname and d_status functions from h5tools to h5tools_util
Tested:
    linux and windows
2010-05-14 16:54:59 -05:00
Allen Byrne
ae06433ab0 [svn-r18793] Add files to support building library with CMake
Tested: Local linux
2010-05-13 11:01:50 -05:00
Allen Byrne
68fa42f336 [svn-r18759] pull r18757 from 1.8 branch
Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status.
Also add windows import/export declarations to functions.
Updated error_mesg() and warn_mesg() to remove progname argument and use get functions

Tested:
   Windows, linux
2010-05-11 15:10:25 -05:00
Mike McGreevy
f0ecd71307 [svn-r18709] Purpose:
Improve configure's large-file support control.

Description:

    Modified configure to now attempt to add defines necessary for
    supporting largefiles on all systems, instead of solely on linux. This 
    is in response to user requests to enable largefile support on Solaris 
    by default, as well as to give extra control on AIX (instead of just 
    jamming the necessary flag into the config files).

    The old --enable-linux-lfs flag has been removed in favor of the 
    --enable-largefile flag (enabled by default), which can be used on all
    platforms.

    On systems where large files cannot be supported in this manner,
    configure will report as such.

Tested:

    h5committest
    AIX (NCSA's blue_print machine)
    duty, liberty, and linew.
2010-05-05 12:34:26 -05:00
Jonathan Kim
249acc0355 [svn-r18614] Purpose:
Fix for bug 1817 : h5copy fail to copy dangling link by specifying 
    link path directly

Tested:
    jam, amani, linew
2010-04-22 13:17:35 -05:00
Mike McGreevy
0cf2a97cfb [svn-r18579] Purpose:
Autotool Upgrade / Libtool Bug Fix

Description:

    Updated autotools referenced in bin/reconfigure as follows:

    Autoconf 2.64 --> Autoconf 2.65
    Automake 1.11 --> Automake 1.11.1
    Libtool 2.2.6a --> Libtool 2.2.6b-mcg

    The referenced libtool version is a custom version of 2.2.6b. It 
    has been tweaked to fix a bug in libtool that occurs
    when using PGI 10.0 compilers. A check incorrectly categorizes
    the C++ compiler as version 1.0 instead of 10.0, and the link
    line is subsequently set up incorrectly and fails to compile.

    A patch has been made available and will be included in the next
    release of libtool, but in the meantime I've applied the patch to a custom
    installation as indicated above. This bin/reconfigure now references
    the custom installation, and the resulting configure script will correctly
    categorize the PGI 10.0 C++ compiler.

    Ran bin/reconfigure to regenerate configure and makefiles.

Tested:

    jam and amani with PGI 10.0 compilers.
    h5committest
2010-04-15 16:17:22 -05:00
Quincey Koziol
3dd92875b2 [svn-r18548] Description:
Minor cleanups to compile with PGI C compiler 10.x.

Tested on:
    Linux 2.4/32 (jam) w/PGI 10.x C and F90 compilers
2010-04-12 21:09:48 -05:00
Jonathan Kim
8c9b42fcf3 [svn-r18425] Purpose:
Fix for bug1814 - NPOESS: h5repack doesn't handle references to the groups 
    as an element of a dataset 

Description:
    handles object reference to named-datatype as well.
    Add test cases.

Tested:
    jam, amani, linew
2010-03-18 16:38:09 -05:00
Jonathan Kim
ee757e449b [svn-r18273] Purpose:
bugzilla 1754: h5diff: support comparing through links.

Description:
    Fix incorrect (or hanging) behavior in parallel mode when specifying 
    invalid combination of command options. 
    (ex: -v and -q , --no-dangling-links without --follow-links)
    Add relate test case
    Update h5diffgentest.c due to add test files this and previous time

Note:
    svn #18266 (prior to this)
    svn #18164 (original check-in)

Tested:
    h5committest (jam, amani and linew)
2010-02-18 11:51:12 -05:00
Jonathan Kim
ad9e876b0c [svn-r18266] Purpose:
bugzilla 1754: h5diff: support comparing through links.
    (original check-in svn revision #18164)
Description:
    fix the hang issue in parallel mode when compare external-link.
    add --no-dangling-links option. 
    add test cases (#450-#459) relate to the new option.
    improve test script to check exit code.
    update --help relate to the new options.
    correct some indentations.

Tested:
    h5committest (jam, amani and linew)
2010-02-16 14:43:05 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -05:00
Jonathan Kim
98639557ac [svn-r18166] Purpose:
Take care of test case fail for h5repack from checkin (r18164)

Description:
    Previous checkin didn't allow h5diff to return succeed when a link's 
    target object doesn't exist. Changed it to succeed with warning.
    (Need to discuss related feature)

Tested on Jam
2010-01-25 19:20:16 -05:00
Jonathan Kim
79cd5838d1 [svn-r18164] Purpose:
Add a feature to compare through links. Relate to bugzilla report 1754.

Description:
    Currently, h5diff command only compares the name(path) of target object 
    not the actual data. With this feature, h5diff will go through the link(s) 
    and figure out the actual object at the end of the link and compare data 
    if exist. Internally we have hard-link, soft-link, external-link (as part 
    of user_defined-link). This feature will provide a user transparent 
    experience when comparing link objects as the user can specify any of 
    those 3 type of links to be compared in any combination.

Tested on Jam.
2010-01-25 16:43:48 -05:00
Quincey Koziol
bb25c85e79 [svn-r18159] Description:
Bring Coverity fixes from 1/22/10 session to trunk:

r18137:
219: Initialized hid_t to -1 and added close to error block.
189-191: Initialized line to NULL and added free line, and close fp to error block.

r18138:
19: Moved code block for printing that the number of enums is empty to the error block. (Would never have been executed otherwise)

r18139:
Fix coverity item 58.  Moved code related to displaying the parent of a repeated
group to the else(isRoot) section, as the root group has no parent.

r18140:
218: Initialized ret_value variable to -1. Because of throw Exception in default case of switch, the coverity problem would not have executed anyway. Good pratice is to initialize variables.

r18141:
Fix coverity item 92.  Added code to H5E_register_class to free cls in case of
an error.

r18142:
Fix coverity item 91.  Added code to H5E_create_msg to free msg in case of an
error.

r18143:
fixed issue 14,
took away "if" and used #ifndef_xxx.

r18144:
Fix coverity item 110.   Added code to H5Eget_minor to free msg_str in case of
an error.

r18145:
fixed coverity #18 removed "aligned", it is always NULL.

r18146:
Fix coverity item 109.   Added code to H5Eget_major to free msg_str in case of
an error.

r18147:
Fixed coverity #81 and #82, Check for bad pointer(s), but can't issue error, just leave

r18148:
Fix coverity item 97.   Added code to H5FD_fapl_open to free copied_driver_info
in case of an error.

r18149:
Fix coverity item 96.   Added code to H5FD_dxpl_open to free copied_driver_info
in case of an error.

r18150:
Fix Coverity issue #29: Protected cache_ptr dereferences with "if(pass)"
block

r18151:
Fix coverity item 93.   Added code to H5FL_fac_init to free factory and new_node
in case of an error.

r18152:
Fix coverity items 98 and 99.   Added code free allocated space in case of
error.

r18155:
124: Freed head pointer before jumping to done. There was no error handling block and normal exit used same path out.
120-123: Freed list of lists in error handling block.

r18156:
Fix coverity issues 179, 180, 181, 182, 183, 184, 186, 320, 407.  These were resource leak issues where allocated memory was not freed, generally in the case of tests that failed.

Tested on:
    Mac OS X/32 10.6.2 (amazon) debug & production
2010-01-23 02:00:00 -05:00
Jonathan Kim
3c5dc1a808 [svn-r18134] Purpose:
Additional fix relted to the fix of bug1672.

Description:
    The fix of bug1672 caused some changes of output which required modifying
    some test cases.  After some discussion, restoring the changes of the test 
    cases was decided.  After many experiments for the solution, this fix was 
    made so the code which improved performance can stay.

Tested on Jam.
2010-01-21 15:01:42 -05:00
Jonathan Kim
a988519ad0 [svn-r18126] Fix for bug1749: Incorrect code in diff() function for links compare 2010-01-20 16:03:22 -05:00
Quincey Koziol
066294e321 [svn-r18109] Description:
Bring r18076-18096 from hdf5_1_8_coverity branch to trunk:

r18076:
Correct Coverity issue #1 by removing dead code

r18077:
Fix coverity item 142.  When an error occurred while copying a linked list in
H5S_point_copy, the library would not free the partially allocated list.  Added
code to free the list in this case.

r18078:
Correct Coverity issue #2 by removing impossible to reach code.

r18079:
Correct #3 by removing impossible to reach code.

r18080:
Correct Coverity issue #4 by removing impossible to reach code.

r18081:
fix coverity 26 , check (dblik->parent) before calls H5HF_man_iblock_detach().

r18082:
Fixed coverity issues 321 and 316.
    321: freed sm_buf in error handling to remove resource leak. 
        Also set sm_buf to NULL after other instances in which 
        it is freed to prevent double free.
    316: initialized nmembs to 0.

r18083:
Correct Coverity issue #6 by removing debugging knob from error reporting code.

r18084:
Fix coverity item 269 + others.  When a error occurred in a function using the
h5tools error framework, the "past_catch" variable would not be set to true
because that statement was before the label that goto jumped to.  This could
cause a failure in the cleanup section to go back to the start of the section,
freeing variables twice, etc.

Moved the label infront of past_catch=TRUE.

r18085:
fixed coverity #27, check if (heap) before use heap->obj....

r18086:
fixed coverity #28, check curr_span not null before use it at if(curr_span &&
    (io_bytes_left==0 || curr_seq>=maxseq))

r18087:
Correct Coverity issue #7 by cleaning up correctly on error

r18088:
Correct Coverity #8 by removing unchanged variable checking code.

r18089:
Correct Coverity issue #9 - remove impossible to reach code.

r18090:
Correct Coverity issue #11 by removing impossible to reach code.  Also clean
up some minor style issues.

r18091:
Fix coverity items 314 and 318.  Changed the improper assertion of the return
value of a library function to a check, and a return(void) on failure.

r18092:
Fix coverity item 70.  Changed the improper assertion of the return value of a
library function to a check, and a return(void) on failure.

r18093:
Correct Coverity issue #12 by removing dead code.

r18094:
Correct Coverity issue #16 by removing debugging code.

r18095:
Fixed coverity issue # 271.

Removed redundant checking and freeing of sm_buf1 and sm_buf2.

r18096:
Correct Coverity issue #17 by refactoring test to remove dead code.

    Also, removed previous "coverity" statements in comments, we'll review
those issues again and see if we can figure them out, now that we have more
experience with Coverity.

Tested on:
    Mac OS X/32 10.6.2 (amazon)
2010-01-14 22:05:59 -05:00
Albert Cheng
22da4232a4 [svn-r18107] bug 1673:
The mixed use of RUNTEST (original) and RUNTESTS (new) caused
confusion. E.g., the timings in test/ was still using the old
$RUNTEST.  It made more sense to use $RUNTEST which is used
by the dejagnu feature of automake.  So, I changed all
$RUNTEST or $RUNTESTS to $RUNEXEC.

config/commence.am & config/conclude.am are the two files
that got changes. Also fixed an error in test/Makefile.am.
The rest are changed by bin/reconfigure.

Tested: h5committested.
2010-01-12 18:58:30 -05:00
Quincey Koziol
9b2c4bea02 [svn-r18011] Description:
Bring Coverity changes into the trunk: (also other minor cleanups)

r17991:
Fix Coverity items 175 and 176.  Fixed memory leak on error in print_enum in
H5LT.c.

r17993: (r17992 was not a Coverity change)
Close Coverity issue #206: inconsistently checking whether dt->shared was
non-NULL after H5T_alloc() returned a valid 'dt' value (which should guarantee
that dt->shared is valid).

r17994:
Fix Coverity item 149.  Fixed file handle leak on error in H5FD_stdio_open.

r17995:
Fixed Coverity issues 154 to 161:

 Added H5MP_close routine to error handling in the event *mp has not been
 freed before error.

r17996:
Close Coverity issue #126: potentially leaking merged_spans on routine failure.

r17997:
Fix Coverity items 147 and 148.  Fixed resource leaks on error in H5FDloc.c.

r17998:
Coverity issue 269-272:
    Added integer result variable to functions that could return negative.
        Assigned to unsigned after checking.
    Added H5E_BEGIN_TRY block around H5Tclose and removed H5E_THROW in the
        catch block.
    Checked buffer is NULL before free. Changed HGOTO_ERROR outside of the if
        block to H5E_THROW.

r17999:
Close Coverity issue #127: release temporary spans in more generic manner.
(Also add error checking to previous fix)

r18000:
Resolved Coverity issues 211 and 212 in H5T.c. Added comments to ignore
Coverity warning regarding not checking pointer for NULL, as we are using
an assert which catches the issue.

r18001:
Fix Coverity item 146.  Fixed resource leak on error in H5O_layout_copy.

r18002:
Fix Coverity items 143 and 145.  Fixed resource leaks on error in
H5D_compact_copy and H5D_contig_copy.

r18003:
Close Coverity issue #192: close file on error

r18004:
Fix Coverity issue #125: release temporary spans on error

r18005:
Resolved Coverity issues 5, 25, and 83 (in H5T.c):

    Separated embedded functions in order to check for NULL on return of
        H5I_object before passing into H5T_copy.

    Check to see if new_dt is NULL within error handling before
        dereferencing it.

    Ignore Coverity's dead code warnings as the checks that lead to the code
        are machine dependent.

r18006:
Coverity 63,70,73:  Checked result of function before assigning to an unsigned
variable.

r18007:
Coverity 78,79:   added continue statement if H5Pget_filter2 returns negative.

r18008:
Fixed Coverity issue # 138:

    Added support in error handling to free dst pointer (if allocated) on error.

r18009:
Whitespace & coding style cleanup
2009-12-13 00:28:30 -05:00
Quincey Koziol
037dac6997 [svn-r17981] Description:
Abstract "print header" code into separate routine.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug
    (too minor to require h5committest)
2009-12-10 08:43:25 -05:00
Quincey Koziol
fb1059e507 [svn-r17953] Description:
Bring Coverity changes into the trunk:

r17877:
Error 266: Uninitialized memspace set to -1. Changed malloc and free to HDmalloc and HDfree. Removed unused dtype var.

r17878:
Error 265: Uninitialized mem_space set to -1. Changed malloc and free to HDmalloc and HDfree. 
Error 267: Uninitialized smspace set to -1. Changed malloc and free to HDmalloc and HDfree.

r17879:
Error 242: Uninitialized aid set to -1. 
Error 243: Uninitialized sid set to -1. 
Uninitialized tid set to -1 for consistency

r17880:
Error 242: reinitialized aid to -1 after close to be ready for reuse. 
Error 243: reinitialized sid to -1 after close to be ready for reuse. 
reinitialized tid to -1 for consistency after close to be ready for reuse.

r17881:
use valgrind to check there is a memory leak. The fix is to free ptrstr in line 5838 at xml_dump_group() of h5dump.c after it is used. run the valgrind after the fix, no memory leak for that part of the code.

r17882:
Fix Coverity items 256 and 269.

r17883:
Error 222-230: initialized hid_t vars to -1 after close to be ready for reuse. 
Also added H5Tclose for tid in gent_bigdims

r17884:
Bug fix (Coverity run2, view 23, dead code)
(this is pair-program done by Albert, Elena and Larry).

Confirmed and fixed the deadcode in hyperslab read branch of function
diff_datasetid.
(Discovered other bad code that diff_datasetid() should be recoded.  
Bug 1693 is entered for this.)

r17906:
Fix Coverity item 260.

r17907:
262: Initialized hid_t's dtype, dtype_tmp and file to -1. Initialized H5T_t * dt to NULL.

r17908:
Fix Coverity item 261.

r17909:
Fix Coverity item 248.

r17910:
Revise fix for Coverity item 248.

r17911:
Resolved coverity issues #s 263, 162, 163, 164. All issues in dsets.c. Initialized fid and did hid_t's. filter_corrupt function was returning in the middle of an if statement, bypassing free calls. Updated error handling to free buffers and hid_t's appropriately.

r17912:
(done by Larry and Albert)
Cleanup Coverity view warnings (#231-241) about
using uninitialized variables.  Initialized all
of them.

r17913:
Resolved issue 251 and 264. Initialized tid2 to -1 and initialized buffers that were freed in case of an error.

r17914:
Resolved coverity issues 66, 220, and 221: 

66: Negative Return assignment ignored

220,221: Initialized hid_t's.

r17915:
Fix Coverity item 247.

r17916:
Fix Coverity item 246.

r17917:
Fix Coverity item 245.

r17918:
Fix Coverity item 244.

r17919:
Coverity Issue #84: Moved asserts in H5T_cmp to the top of the function, and converted them to HDassert. Coverity complaining about using potentially NULL pointer without checking it. Want to see if Coverity will accept Assertions as acceptable checking before using the value. 

Tested on:
    FreeBSD/32 6.3 (duty) in debug mode
    FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
    Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
        w/C++ & FORTRAN, w/threadsafe, in debug mode
    Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
        w/C++ & FORTRAN, in production mode
    Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
        w/szip filter, in production mode
    Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
        in production mode
    Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
    Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
    Mac OS X/32 10.6.2 (amazon) in debug mode
    Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-12-03 14:11:29 -05:00
Jonathan Kim
77b493eea3 [svn-r17938] Purpose:
Fix potential problem similar to Bug1672 (getting garbage values)

Description:
    This will resolve the potential problem like Bug1672 when comparing 
    attributes. It improves the performance by not calling diff_array 
    twice. (diffing time in half). Little clean up on comment lines.
    Refer to the Bug fix 1672. (also svn revision 17905 on trunk) 
	
Tested on:
    linux32 (jam) , linux64 (almani), solaris (linew)
2009-11-30 16:25:41 -05:00
Jonathan Kim
8bcc914263 [svn-r17905] Purpose:
Fix Bug1672 - Display garbage value on LE machine for BE data.

Description:
	Casuing by calling diff_dataset twice when -r or no option was given.
	Change to call it once which fix the problem. 
	It also improves the performance. (diffing time in half)
	According further test, it also occurred on BE machine as well and it 
	seems occruing only with the BE data attached to Bugzilla. 
	Don't know how the file was created. Anyway this fix will prevent 
	from diffing with garbage values in similiar potential case. 
	
Tested on:
	linux32 (jam) , linux64 (almani), solaris (linew)
2009-11-20 13:56:01 -05:00
Peter Cao
a8aa10bd21 [svn-r17680] Use absolute comparison for use-system-epsilon and default option. 2009-10-19 09:50:02 -05:00
Mike McGreevy
7ec079a515 [svn-r17616] Purpose:
CFLAGS overhaul

Description:

    Modified the way configure handles CFLAGS.

    (note: all changes also apply to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS).

    1. The configure process will now always preserve a user's CFLAGS
    environment variable setup. Any additional flags necessary for compilation
    added at configure time will be passed into the Makefiles as AM_CFLAGS,
    which is an automake construct to be used in addition to CFLAGS.

    This will allow a user to have the final say, as CFLAGS will always appear
    later in the compile line than AM_CFLAGS. Additionally, setting CFLAGS
    during make will no longer completely erase all flags set by configure,
    since they're maintained in AM_CFLAGS.

    2. Additionally, where possible, flags previously being assigned directly
    into CFLAGS (and thus propagating into h5cc) have now been redirected into
    H5_CFLAGS, so they're used ONLY for compiling hdf5, and not embedded into
    the h5cc wrapper script as well.

    *Note that H5_CFLAGS ultimately is assigned into AM_CFLAGS for use in the
    Makefiles. Complete description of changes and build process will be
    included in a Configure Document that Elena and I are working on.

    3. Removed unsupported config files. This includes:

       config/dec-osf*
       config/hpux11.00
       config/irix5.x
       config/powerpc-ibm-aix4.x
       config/rs6000-ibm-aix5.x
       config/unicos*

     4. Modified configure summary to display additional values. Specifically,
     appropriate AM_* variables are being shown, as well as H5_FCFLAGS and
     H5_CXXFLAGS, which were for some reason not already present.

Tested:

    - H5committest
    - Tested on all THG / NCSA machines, using several combinations of the more
      prominent configure options (c++, fortran, szip, threadsafe, parallel,
      et cetera). (Thanks to Quincey for rysnc testing setup!)
    - With regards to new automated testing, anything *necessary* for
      compilation will be caught by the daily tests as it stands now. (i.e.,
      if LDFLAGS is not properly set when szip is used, linking will fail).
      Additionally, with regards to which flags get into h5cc, if any
      *necessary* flags have been improperly removed, then daily tests should
      fail during make installcheck. Additional machine-specific desired
      behaviors and/or checks may have to be set up separately within the
      daily tests, so this is something to work on.
2009-10-08 10:17:30 -05:00
Allen Byrne
98f6b609ad [svn-r17566] Fix for Bug 1562. H5DSis_attached needed to account for platform dependent types. Added test and test files for LE and BE dimension scales. Reworked part of test_ds file as part of debug.
Added missing H5Tclose in region reference routines.
H5DS.c checked for other locations which need to account for platform dependent types in dealing with ds_list_t. Added generator program for test files of LE and BE dimension scales.

Tested: local linux, h5committest
2009-10-01 11:17:17 -05:00
Quincey Koziol
74c6507d9f [svn-r17518] Description:
Bring most of Vailin's changes to the fixed array data structure back
to the trunk, including new regression test for data structure.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.5.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-09-24 15:30:47 -05:00
Allen Byrne
d00707bf11 [svn-r17492] Moved printing of brackets before printing contents of region references.
Changed default Error handling init to successful as all error macros set the return to failure

Tested: local linux
2009-09-17 15:31:44 -05:00
Allen Byrne
cd3c2dea7b [svn-r17477] Corrected use of ERROR macro H5E_LEAVE to H5GOTO_DONE.
Tested: local linux
2009-09-14 16:48:32 -05:00
Allen Byrne
43db823044 [svn-r17475] Added error handling to h5dump and region reference handling functions in the tools lib. Bring back from NPOESS. Added missing tests to h5dump test script for region references.
Tested:   local linux
2009-09-14 14:52:42 -05:00
Peter Cao
5f3a7254c1 [svn-r17466] " Use strict equality as default
"   Use "--use-system-epsilon" for system EPSILON
"   Use "-p" or "-d" for whatever user's choice of epsilon
"   Use "-p 0" or "-d 0" for strict equality (same as default)
2009-09-11 15:09:34 -05:00
Allen Byrne
1cad9f4751 [svn-r17456] Added dataspace type check for region, changed dimension_break processing to use boolean.
Tested:
    local linux
2009-09-08 09:51:59 -05:00
Quincey Koziol
eae58095d0 [svn-r17455] Description:
Correct a 'hsize_t *' to 'hsize_t' and vice versa.

Tested on:
    Mac OS X/32 10.5.8 (amazon) in debug mode
    Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
    (too minor to require h5committest)
2009-09-08 08:03:38 -05:00
Allen Byrne
c7590ca38e [svn-r17450] Bring h5dump single subsetting selection and region reference changes from NPOESS
Tested: local linux smirom
2009-09-04 09:50:13 -05:00
Mike McGreevy
4598a59f86 [svn-r17345] Purpose:
Updating autotools

Description:

    Installed new autotools and used them to reconfigure HDF5.

    - Automake upgraded to 1.11
    - Autoconf upgraded to 2.64
    - bin/reconfigure script edited to use new versions (on jam), and
      run to generate new configure script and Makefile.in's.
    - configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
      (in order to comply with new autoconf standard).
    
Tested:

    Tested on machines jam, smirom, liberty, linew.
    Tested w/ features c++, fortran, parallel.
    Tested w/ compilers gcc, pgcc, icc.

    Further testing via Daily Tests should catch any other outliers. Upon
    passing DT's, I'll propogate the new tools into 1.8, hdf4, et cetera.
2009-08-12 13:55:25 -05:00
Peter Cao
a6676de3c8 [svn-r17254] Fixed Bug 1563 - h5diff and Infinity
Added test cases
2009-07-28 14:40:18 -05:00
Allen Byrne
f5be06c397 [svn-r17211] The function h5tools_str_append() incorrectly used the trio of functions: va_start(), HDvsnprintf(), and va_end(). When the boundary of the string buffer was reached and resized, the HDvsnprintf() function recalled without the other two functions in the code loop. This usage exposed bug 1520 by a user.
Tested: linux
2009-07-21 14:44:54 -05:00
Pedro Vicente Nunes
aad47d8e8b [svn-r17052] Add a run to the h5repack shell script to read a family file
The file used for input is located in the common source tools for testfiles, in tools/testfiles
Modified the h5repack shell script to read files from this location (h5repack reads its input files from a dedicated testfiles location in h5repack/testfiles)
Changed the h5diff open file call to use h5tools_fopen, so that it can open all file drivers

Tested: windows, linux, solaris
2009-06-15 14:05:42 -05:00
Pedro Vicente Nunes
358f18543f [svn-r16991] change messages of -c option
tested: windows, linux
2009-05-28 16:31:57 -05:00
Pedro Vicente Nunes
b75740341f [svn-r16964] bug fix: the phrase "Not comparable" was not being printed for the case of different classes
tested: windows, linux
2009-05-20 09:07:22 -05:00
Pedro Vicente Nunes
c60f5a8429 [svn-r16810] added the words "Not comparable" in the not comparable messages
tested: linux
2009-04-20 15:59:40 -05:00
Mike McGreevy
bc36a358d1 [svn-r16792] Description:
- Updated bin/reconfigure to use latest version of automake (1.10.2). 
      Re-generated Makefile.in's by running bin/reconfigure.

    - Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
      libraries.

Tested:

    jam, liberty, smirom
2009-04-20 01:00:11 -05:00
Pedro Vicente Nunes
ceffce7203 [svn-r16785] added missing test and compare cases inside compounds for nan
tested: linux
2009-04-18 15:55:24 -05:00
Neil Fortner
a4aae55760 [svn-r16698] Purpose: Fix bug 503
Description:
Changed Skip list package to use a deterministic skip list.  This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r().  There is no longer a p-value or maximum level for skip lists.

Tested: jam, smirom, linew (h5committest)
2009-04-08 12:02:09 -05:00
Pedro Vicente Nunes
972a1bba5d [svn-r16629] removed a h5dump test (array type) that has a different bogus output in frebsd (liberty)
removed  the call to the file generation in the test generation program
removed the binary h5 and ddl from svn

tested: linux
2009-03-30 16:47:29 -05:00
Pedro Vicente Nunes
bd1fe8cd74 [svn-r16614] 3. #1501 (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit.
ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff
SOLUTION: add a check for a 0 size and define as 1 if so. 
TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported).  Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing.
TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt).
TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy). 

tested: linux (h5commitest failed , apparently it did not detect the code changes in /tools/lib that fix the bug: the error in an assertion in the hyperslab of 0. I am sure that making h5ccomitest --distclean will detect the new code , but don't want to wait more 3 hours :-) )
2009-03-25 15:28:50 -05:00
Mike McGreevy
893b8bffee [svn-r16561] Purpose:
Bug Fix

Description:

    Fixing BZ #1381. The --includedir=DIR configure option, which is used
    to specify the installation location of C header files, did not work
    correctly as the path was hard-coded in config/commence.am. I'm presuming
    this is because an older version of automake didn't know where to put
    c header files. In any case, removing this line now defaults the includedir
    to the same directory that it is currently hard-coded to, and also fixes
    the configure flag to allow customization of this value.

Tested:

    jam, liberty
2009-03-10 16:01:50 -05:00
Pedro Vicente Nunes
f8c5384aa5 [svn-r16518] have 2 expected outputs for 2 h5ls runs depending if run on a big or little endian machine. Configure.in was modified to export a variable carrying endianess information to testh5ls.sh. This script then compares the current run with 2 expected outputs, one for a big-endian machine (linew was used to generate the output), other for little endian (jam was used to generate the output)
the way h5ls prints types, it starts searching for NATIVE types first. One solution would be h5ls not to detect these native types, using for example the same print datatype function that h5dump does, that would make the output look the same on all platforms  ("32-bit little-endian integer" would be printed instead).  Drawback, this "native" information would not be available. Other solution is to have not one but 2 expected outputs and make the shell script detect the endianess and compare with one output or other
tested: h5committest
2009-02-26 15:21:50 -05:00
Pedro Vicente Nunes
11e7897d32 [svn-r16502] bug fix: a comma accidently left on a conditional typedef was causing compilition error on AIX
tested: h5commitest
2009-02-20 16:07:34 -05:00
Pedro Vicente Nunes
1357f1a25b [svn-r16501] remove a strange character from a comment
tested: h5committest
2009-02-20 14:40:53 -05:00
Allen Byrne
5d69e87ff0 [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   Vista 32, VS2005, IVF101
   XP32, Cygwin
2009-02-18 15:02:05 -05:00
Pedro Vicente Nunes
96a0892ba8 [svn-r16461] Bug fix: for compound types, the not comparable test for members was not done
Solution: for compound types, recursively apply that check
Two new cases are added
1) the compound type has a different number of members. Message printed is
<obj1> has X members <obj2> has Y members
Where X and Y are the number of members of each compound type being compared
2) the compound type has not comparable types (for example a double and an int at the same index)
In this case the message
Comparison not possible: object1 is of class1 and object2 is of class2
Is replaced with
Comparison not possible: object1 has a  class1 and object2 has a  class2
Modified the test generator program to have these 2  cases
Added a shell run for these 2  cases


Tested: windows, h5committest
2009-02-11 10:57:25 -05:00
Pedro Vicente Nunes
9a298fd1dd [svn-r16373] replaced some printf statements with parallel_print
tested: linux serial and parallel
2009-01-29 13:58:36 -05:00
Pedro Vicente Nunes
a6dcbd6a0f [svn-r16358] bug fix
a new line was not inserted at the end of output, causing diff to complain between linux and frebsd

tested: linux , freebsd
2009-01-27 10:33:17 -05:00
Pedro Vicente Nunes
85a1c5c273 [svn-r16352] bug fix: some printf calls instead of parallel_print made some tests to fail
tested: linux parallel
2009-01-27 08:48:04 -05:00
Pedro Vicente Nunes
120350c395 [svn-r16348] #1368 (E1) h5diff: implement "not comparable" messages. Implemented RFC. The new option is <-c, --compare List objects that are not comparable>
added some test cases

tested: windows, linux
2009-01-26 14:29:22 -05:00
Frank Baker
5393933154 [svn-r16340] Description:
Changed 'THG' to 'The HDF Group' in various HDF5 source files,
        most of which are <subdirectory>/COPYING.
    -- Closes Bugzilla entry 1403.
2009-01-22 15:53:59 -05:00
Pedro Vicente Nunes
60ab04d383 [svn-r16319] add conditinal nan detection to some missing places
tested: windows, linux
2009-01-14 16:37:25 -05:00
Pedro Vicente Nunes
108699a7a8 [svn-r16300] Added an option to avoid dealing with NaNs
-N, --nan               Avoid NaNs detection
Note: there is no shell script run for datasets with NaN because the output is non portable (different results and NaN strings for different systems)

Tested: windows, linux
2009-01-13 11:33:31 -05:00
Pedro Vicente Nunes
5b7de16d6a [svn-r16217] Bug fix
PG compiler complains about array out of bounds (a rank of zero was not checked)
Adding a scalar dataset to the test generator program. this case is run on a previous existing run, the case was added to 2 existing files

Tested: windows, linux
2008-12-23 09:56:13 -05:00
Pedro Vicente Nunes
2eefe0be2e [svn-r16030] updated some comments regarding a function change regarding h5diff return value (not done for 1.8)
* Pedro Vicente, pvn@hdfgroup.org, Nov 4, 2008
 *    Compare the graph and make h5diff return 1 for difference if
 * 1) the number of objects in file1 is not the same as in file2
 * 2) the graph does not match, i.e same names (absolute path)
 * 3) objects with the same name are not of the same type
2008-11-04 16:11:45 -05:00
Pedro Vicente Nunes
8a0b098fdb [svn-r16024] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows
2008-11-03 21:44:40 -05:00
Pedro Vicente Nunes
8f00f520ff [svn-r15991] Merge with 1.8 rev 15969
Introduced a new feature in the tools library regarding command line parsing
In the definition of arguments, an "*" means that the switch can or can not have an optional argument. This "*" is put in the code regarding the letter definition, and it is transparent to the user (e.g b* instead of the previous b: ), where ":" notes a required argument after the letter (and no ":" or "*" notes no argument, mandatory)
Used for the h5dump binary option -b
It can be now
1)	-b (defaults to NATIVE)
2)	- b NATIVE
3)	- b FILE
4)	-b LE
5)	-b BE
Note: the keyword NATIVE replaces MEMORY
This feature (-b with no argument) was tested with the sequence of h5dump to binary (NATIVE) then h5import to generate an HDF5 file from the binary file and h5diff to compare the 2 HDF5 files
Tested: linux
2008-10-29 15:11:51 -05:00
Pedro Vicente Nunes
61af8db951 [svn-r15990] Merge with 1.8 rev 15967
regarding the return value of h5diff (0, no difference in files, 1 difference )
    objects with the same name must be of the same type
tested: linux
2008-10-29 15:01:38 -05:00
Pedro Vicente Nunes
840c6e34d3 [svn-r15989] Merge with 1.8 up to rev 15945
Regarding use of unsigned long long print format

Tested: linux
2008-10-29 14:56:24 -05:00
Pedro Vicente Nunes
13294e2042 [svn-r15988] Merge with 1.8 up to rev 15871
Regarding h5diff, h5copy

Tested: linux
2008-10-29 14:47:50 -05:00
Pedro Vicente Nunes
e636e152ea [svn-r15987] Merge with 1.8 rev 15871
Eliminate -c option and make that behavior the default and return 2 instead of -1 on error status

tested: linux
2008-10-29 14:29:25 -05:00
Pedro Vicente Nunes
b7dc9a06b3 [svn-r15977] merge rev 15866 from 1.8 branch into trunk (diffs for unsigned long long)
tested: windows, linux
2008-10-28 14:13:42 -05:00
Mike McGreevy
a664274624 [svn-r15942] Purpose: Bug Fixes and Libtool Upgrade
Description:
     - Remove need to set LD_LIBRARY_PATH when using shared szip library.

     - Libtool 2.2.6a is now used to generate libraries.

     - 'make check install' dependency bug is fixed, and should no longer
       break the build. 
  
     - removed hard coding of shell in config/commence.am, as this causes
       problems on Solaris with the new version of libtool.
   
     - RELEASE.txt with appropriate changes.

Tested:
     - kagiso, smirom, linew (merged from 1.8, pretty quick tests)
2008-10-24 12:19:34 -05:00
Neil Fortner
ad28fa5b0c [svn-r15886] Purpose: Close bug 1332
Description: Improved external link traversal of h5dump.  h5dump will now
    properly avoid all cycles, even those spanning multiple files.  Improvement
    to the output of committed datatypes.  Committed datatypes are now checked
    for uniqueness (like other objects).  Tests added for these cases.

Tested: kagiso, linew, smirom (h5committest)
2008-10-15 22:52:16 -05:00
Neil Fortner
6d28e06f30 [svn-r15668] Purpose: Add feature requested in bug #1282
Description: Adds capability to h5ls to traverse external links when the -r
(recursive) option is given.  Changes to the way absolute path names are patched
in h5trav.c.  Changes to the way recursive traversal starting from a non-root
group is handled (which also fixes some preexisting issues).  Tests added for
these cases.

Tested: kagiso, smirom, linew (h5committest)
2008-09-21 13:35:43 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

    foreach f (*.[ch] *.cpp)
        sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
    end

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    No need for h5committest, just whitespace changes...
2008-09-16 10:52:51 -05:00
Pedro Vicente Nunes
5f7de91688 [svn-r15509] bug fix
when comparing attributes, a type ID was not properly closed 

solution: close the Id on the iteration and continue instead of goto out of the cycle
2008-08-21 14:15:05 -05:00
Neil Fortner
4f61812180 [svn-r15458] Purpose: Modify the library to take the proper action when files with incorrect
datatype versions are encountered.

Description: The library now recognizes some problems with datatype versions in
H5O_decode_helper(), and, if not performing strict format checks, automatically
corrects them.  Framework added for other message decode routines to
automatically correct file errors.  Datatype version information added to
h5debug.

Tested: kagiso, smirom, linew (h5committest)
2008-08-11 10:16:34 -05:00
Pedro Vicente Nunes
c3bdc28062 [svn-r15445] added some comments
tested: windows, linux
2008-08-07 08:09:35 -05:00
Pedro Vicente Nunes
6787ef71a2 [svn-r15428] http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1170
Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below.

If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0)

Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q). 

tested: windows, linux, solaris
2008-08-04 16:13:16 -05:00
Scott Wegner
7a92820e35 [svn-r15183] Purpose: _WIN32 macro cleanup
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code.  There are many instances where Windows code is introduces via ifdef's.  We re-evaluate whether they are still required, and found that many of them are not.  Others we change to "feature"-specific code, rather than Windows-specific.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
2008-06-09 13:41:29 -05:00
Scott Wegner
532e23b808 [svn-r15150] Purpose: Separate Windows function macro definitions to win32defs.h
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead.  This way, we can map special versions of the call on particular systems.  Previously, it was all done in H5private.h.  However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h.  This way, we can use the non-Posix versions that Visual Studio sends warnings about.

Some macros are set specifically in the platform-specific header files.  Then, any macros left unset will be set by the "default" implementation in H5private.h.

This checkin also cleans up various source files to use the HD* macros when possible.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
2008-06-05 13:52:19 -05:00
Quincey Koziol
b75540244f [svn-r15133] Description:
Fixed bug in h5ls that prevented relative group listings (like
"h5ls foo.h5/bar") from working correctly.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.5.3 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-03 19:17:27 -05:00
Albert Cheng
ca94c839d5 [svn-r15036] Bug fix.
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output.  The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.

Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name.  Same for CXX_API.

Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all.  Added them in.

Platform tested:
Kagiso only. It is a trivia change.
2008-05-19 00:06:51 -05:00
Mike McGreevy
389cc309c5 [svn-r15007] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 11:42:03 -05:00
Albert Cheng
7b7f10a444 [svn-r15003] Purpose:
Improvement.

Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings.  That created
two different output formats and duplicated information.  This is the
initial attempt to clean up this confusion and unify the output format.

It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.

AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`

The src/libhdf5.settings.in has CONDITIONAL's added to it too.  The
untrue conditions turned into a "#" and these lines are cleaned by the 
post processing script.

Platform tested:
h5committest on kagiso, smirom and linew.
2008-05-15 00:12:00 -05:00
Mike McGreevy
5bd2405c11 [svn-r14933] Purpose: Updating HDF5 to use automake 1.10.1 and libtool 2.2.2
Description: Applying update to autotools that was applied to 1.8 a couple
             of weeks ago to the trunk.

             Updated bin/reconfigure script to reflect the new versions of 
             libtool and automake in the /home1/packages/ directory.

             Rearranged configure.in script. When using libtool 2.2.2, the
             libtool script doesn't generate until later in the configuration
             process, so I had to move a test that parsed through the libtool
             script to a point after where it was actually being generated.

             Ran libtoolize on the project, and ran bin/reconfigure to
             regenerate configure and Makefile.in's throughout.

Tested:      kagiso, smirom, linew (h5committest)
2008-05-05 13:35:55 -05:00
Scot Breitenfeld
aec106e324 [svn-r14903] Undoing change committed in r14902. 2008-04-30 14:51:13 -05:00
Scot Breitenfeld
5773fd34bc [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. New fortran wrappers added. 2008-04-30 14:23:26 -05:00
Pedro Vicente Nunes
c83dbd9c18 [svn-r14792] bug fix: #1106 h5dump -b will dump ASCII values for datasets after the first one. One variable that controls the binary output was incorrectly reset to zero after a binary output was done a first time. The effect was that on cases of several datasets, the ones after the first were not binary written. Eliminated the resetting of that variable and tested a file with several datasets. Modified the test file so that it is easier to test with the tool binread, that reads the binary output of h5dump.
tested: windows, linux
2008-04-03 16:07:27 -05:00
Pedro Vicente Nunes
6763f7c882 [svn-r14735] make 1.8 and 1.6 code equal or similar
formatted code
tested: windows, linux
2008-03-13 13:44:35 -05:00
Pedro Vicente Nunes
7d4ba6f74e [svn-r14733] make 1.8 and 1.6 code equal or similar
formatted code
bug fix: the 1.6 branch did not have a test for the existence of long double type on print_type (print name of datatype)
tested: windows, linux
2008-03-13 10:24:02 -05:00
Pedro Vicente Nunes
8f75e2c879 [svn-r14730] make 1.8 and 1.6 code equal or similar
Tested: windows, linux
2008-03-12 14:50:54 -05:00
Pedro Vicente Nunes
cb06b64c54 [svn-r14728] make 1.8 and 1.6 code look equal or similar
Tested: windows, linux
2008-03-12 13:40:50 -05:00
Pedro Vicente Nunes
52378f9e94 [svn-r14700] bug fix: the function equal_double that compares double type did not had nan logic for the cases of options -d and -p
tested: windows, linux
2008-03-04 14:38:16 -05:00
Quincey Koziol
66fa79b423 [svn-r14690] Description:
Handle comparing datasets & attributes w/variable-length strings properly.

Tested on:
    Linux/64 2.6.9 (chicago)
2008-02-28 09:49:48 -05:00
Pedro Vicente Nunes
8005df6417 [svn-r14437] bug fix for h5dump subsetting (deal with blocks)and new test runs
add a check for block overlap after the command line parsing

* Algorithm
 *
 * In a inner loop, the parameters from SSET are translated into temporary 
 * variables so that 1 row is printed at a time (getting the coordinate indices 
 * at each row).
 * We define the stride, count and block to be 1 in the row dimension to achieve 
 * this and advance until all points are printed. 
 * An outer loop for cases where dimensionality is greater than 2D is made. 
 * In each iteration, the 2D block is displayed in the inner loop. The remaining 
 * slower dimensions above the first 2 are incremented one at a time in the outer loop
 *
 * The element position is obtained from the matrix according to:
 *       Given an index I(z,y,x) its position from the beginning of an array 
 *       of sizes A(size_z, size_y,size_x) is given by
 *       Position of I(z,y,x) = index_z * size_y * size_x 
 *                             + index_y * size_x
 *                             + index_x
 * 

tested: windows, linux
2008-01-16 11:12:08 -05:00
Pedro Vicente Nunes
be4ca1f67e [svn-r14414] revert the subsetting calls of h5dump to 1 size block, still a bug with size > 1
tested: linux
2008-01-14 19:18:29 -05:00