Commit Graph

66 Commits

Author SHA1 Message Date
Peter Cao
c439bb5d29 [svn-r20012] Use "if...else" to exclude the use when travt is null. 2011-01-27 09:22:03 -05:00
Peter Cao
72938585be [svn-r20011] make sure that travt is nor null 2011-01-27 08:50:04 -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
Quincey Koziol
b9ca2f8f6f [svn-r18650] Description:
Bring back various minor tweaks & cleanups from the revise_chunks
branch.

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, 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
2010-04-27 17:15:14 -05:00
Jonathan Kim
20fd1f47b7 [svn-r18454] Purpose:
Fix for the bug1726 - NPOESS: h5repack loses attributes for datasets of 
    type H5T_REFERENCE.

Description:
    include test cases.
    also test cases for attribute with object and region reference.

Tested:
    jam, amani, linew
2010-03-25 12:29:51 -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
Quincey Koziol
34d14bdf89 [svn-r17980] Description:
Bring Coverity changes into the trunk: (also other minor cleanups)

r17955:
Fix Coverity item 24.  Add missing error condition to
H5AC_ext_config_2_int_config.

r17956:
Fix Coverity item 24.  Improve error checking in H5A_compact_build_table_cb.

r17957:
Fix Coverity item 150.  Fix warning in H5A_compact_build_table_cb.

r17958:
Fix Coverity item 117.  Fix error handling in H5B_shared_new.

r17959:
Fix Coverity item 209.  Added an assertion for leaf->shared in
H5B2_cache_leaf_dest.

r17960:
Fix Coverity item 208.  Added an assertion for internal->shared in
H5B2_cache_internal_dest.

r17961:
Fix Coverity item 89.  Reworked the code to avoid array overrun in
H5C__autoadjust__ageout__insert_new_marker.

r17962:
Fix for coverity Resource_leak 195,203,204,205.

r17963:
Fix Coverity item 44.  Prevented potential NULL dereference in H5D_btree_debug.

r17964:
Fix Coverity issues #197, 198 & 199: memory not being released.  (Also
clean up other resource leaks in nearby and/or similar code).

r17965:
Fix Coverity issue #151: release resources on error

r17966:
Fix Coverity issue #187: Remove leftover code remnant from prior bugfix
which was causing resource leak of open files.

r17967:
Fixed Coverity issues # 193 & 194.  Removed unnecessary memory allocation and
added comparison of length of path parameter to the size of the destination
buffer in h5import.h/h5import.c.

r17968:
Fix Coverity item 144.  Fixed memory leak on error in H5D_chunk_copy.

r17969:
Fix for coverity Resource_leak #196.

r17970:
Coverity 167-173:
Initialized pointer of buffers.
In error handling, closed types and free memory.

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-10 07:36:56 -05:00
Albert Cheng
e0b41d0b01 [svn-r17703] Bug fix: (1192)
Changed exit(1) to exit(EXIT_FAILURE) and exit(0) to exit(EXIT_SUCCESS) for
better coding.

Tested: jam.
2009-10-20 19:34:06 -05:00
Quincey Koziol
37ec6dc75e [svn-r17582] Description:
Bring changes from file free space branch back to the trunk.  *yay!*

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.5.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-01 21:08:59 -05:00
Pedro Vicente Nunes
ced8683011 [svn-r16663] cleaned compiler warnings in linux
tested: linux
2009-04-03 10:32:18 -05:00
Pedro Vicente Nunes
d0859bb174 [svn-r15678] formatted code
tested: windows, linux
2008-09-22 13:40:38 -05:00
Pedro Vicente Nunes
205b9019cf [svn-r15664] fix comments
tested: linux
2008-09-19 15:06:17 -05:00
Pedro Vicente Nunes
fffa1adc9a [svn-r15652] Cleaned compiler warnings
Bug fix: do not print print compression ratio when the requested filter is NONE

Tested: windows, linux
2008-09-18 11:06:28 -05:00
Pedro Vicente Nunes
54e35b67cf [svn-r15634] Add a default user block size of 1024 when none is given
Tested: windows, linux
2008-09-16 14:42:51 -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
cf05c2d762 [svn-r15556] Check options for H5Pset_alignment.
threshold is zero default (a valid value) but zero is not a valid alignment

tested: windows, linux
2008-08-29 14:54:21 -05:00
Pedro Vicente Nunes
f384b17625 [svn-r15551] 1) There are 2 new command line parameters for h5repack. Together they allow a call to H5Pset_alignment to be made
-t T, --threshold=T     Threshold value for H5Pset_alignment
   -a A, --alignment=A     Alignment value for H5Pset_alignment

2) bug fix
the printing of the dataset name was not done for references (verbose mode)

tested: windows, linux
2008-08-28 14:47:26 -05:00
Pedro Vicente Nunes
0c8cee593f [svn-r15526] userblock options
only write the user block of a pre-existing file with user block in case there is no input user block file

tested: windows, linux
2008-08-25 10:57:14 -05:00
Pedro Vicente Nunes
a72dc6c92c [svn-r15521] #1184
Add a userblock to an HDF5 file during the repack.  The user gives  
give a filename and userblock size as command line parameters to  
h5repack and the contents of that file are stored in the  
userblock for the HDF5 file created by h5repack.

New flags to handle this -u and -b
Tested : windows, linux
2008-08-22 10:53:07 -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
04aad32e73 [svn-r14671] fix typo in comments and remove unused header mention
tested: linux
2008-02-25 13:35:29 -05:00
Pedro Vicente Nunes
6f820c0a24 [svn-r14368] clean code and reshufle functions between modules, remove unused functions
tested: windows, linux
2008-01-03 15:45:18 -05:00
Pedro Vicente Nunes
6036ac9b30 [svn-r14346] New feature: has_filters_obj function that checks if filters match for each individual dataset
Following the new feature of h5repack to allow multiple filters for all datasets and the new function has_filters that checks if the repacked file has all the filters requested, I added a new function

has_filters_obj

that does the same for each dataset. The previous function that checked this only ckecked if the user input filters were in the output dataset. This new function does this but checks if the filters are exactly the same. Currently the behavior of h5repack is to delete all filters that are present in the input file (dataset) and replace them with the requested ones, so they must match exactly.

We might consider adding other logical operations, like keep the existing ones.

Additionally , the function also checks if the filter parameters match.

While doing this I noticed that for the shuffle filter , the values returned do not match and also the same for the N-bit and scale-offset

The new function that checks for the filter values fails then, and so I commented the h5repack tests that do this for the N-bit and scale-offset filter (previously for the same bug on the shuffle filter I added special code on the compare filter function but this is temporary until I find the issue)

tested: windows, linux, solaris
2007-12-14 16:38:23 -05:00
Pedro Vicente Nunes
89f6ef0303 [svn-r14345] substituted the symbol CD_VALUES , number of filter client data values, for H5Z_COMMON_CD_VALUES
that is defined in the library

tested: windows, linux, solaris
2007-12-14 14:16:01 -05:00
Pedro Vicente Nunes
a5ba6ac397 [svn-r14320] Added a function that matches the filters on the dataset's DCPL and in the requested list
Used to verify if the filters requested are present in the output dataset

tested: windows, linux, solaris
2007-12-04 14:59:54 -05:00
Pedro Vicente Nunes
1b645ffd91 [svn-r14299] new feature: add support for h5repack to handle several global filters
usage is to repeat the -f option

tested: windows, linux, solaris
2007-11-28 15:30:43 -05:00
Peter Cao
2b89d6d73c [svn-r13975] Add --latest, -compact=<size>, ... options to use the lastest file format.
Add test for the options to the daily test.
2007-07-13 13:18:48 -05:00
Pedro Vicente Nunes
bd2c3b52a8 [svn-r13810]
Minor tunings to output verbose messages: 
1)when there is not a filter request do not print a message saying the filter was not apllied when the dataset was too small
2) avoid printing the message that has a list of objects to modify when there is none

Tested:linux
2007-05-24 14:09:36 -05:00
Pedro Vicente Nunes
1d312bff80 [svn-r13589]
h5repack code cleaning (required reconfigure)

tested: linux (32, 64, parallel), solaris
2007-04-04 15:25:42 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Pedro Vicente Nunes
8040a0f381 [svn-r12928] code revision 2006-11-16 15:38:05 -05:00
Quincey Koziol
14dcb6db33 [svn-r12736] Description:
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)

    Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back.  (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
    Carry those changes into the tests, etc.

    Clean up a bunch more compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-1.6-compat
2006-10-08 23:18:18 -05:00
Pedro Vicente Nunes
5df5ee8956 [svn-r12720]
added output of error messages using the tools library function error_msg, that prints the program name and error on the message

tested: kagiso
2006-10-05 09:35:40 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
Pedro Vicente Nunes
26e1b18a57 [svn-r12159] Purpose:
bug fix

Description:
h5repack was not dealing with family files

Solution:
use the toolslib function h5tools_open to open the file instead of H5Fopen in h5repack

Platforms tested:
linux
solaris
AIX

Misc. update:
2006-03-27 15:09:01 -05:00
Quincey Koziol
6cf7a8fe7d [svn-r11889] Purpose:
Bug fix

Description:
    Fix compile problem with C++ compiler after recent changes.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/CC=g++
2006-01-24 09:48:36 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

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


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Pedro Vicente Nunes
8f6f6fee06 [svn-r9121] Purpose:
new feature

Description:

added a check that the chunk size must be smaller than pixels per block in SZIP request
prints a message and exits, if not met



Solution:

Platforms tested:
linux
aix
solaris

Misc. update:
2004-08-19 14:09:13 -05:00
Pedro Vicente Nunes
8c0f8b1a95 [svn-r9106] Purpose:
bug fix

Description:

the option CHUNK:NONE (remove chunking )  was not setting the layout to contiguous

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-08-17 14:54:42 -05:00
Pedro Vicente Nunes
4cb6c01d7f [svn-r8904] Purpose:
h5diff and h5repack changes

Description:
h5diff
introduced the following four modes of output:
 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 (h5diff always returns an exit code of 1 when differences are found)

    h5repack
     added an extra parameter for SZIP filter (coding method)
     the new syntax is
     -f SZIP=<pixels per block,coding>
     (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
     Example of use:
     ./h5repack -i file1 -o file2 -f SZIP=8,NN -v

     updated usage messages, test scripts and files accordingly




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-07-20 14:21:03 -05:00
Pedro Vicente Nunes
a6cbc80663 [svn-r8882] Purpose:
bug fix, new feature

Description:
fixed  bug in the parse function:
  cases where we have an already inserted name but there is a new name also
  example:
  -f dset1:GZIP=1 -l dset1,dset2:CHUNK=20x20
  dset1 is already inserted, but dset2 must also be (it was not)

added a CHECK_SZIP symbol to enable/disable checking of library related szip parameters
added the print of the filter name in verbose mode (confirms visually that the filter was applied )


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-07-15 14:25:27 -05:00
Pedro Vicente Nunes
bc6ab7c0a6 [svn-r8869] Purpose:
h5repack changes

Description:
there were some requests to change some minor h5repack features
h5repack only made a warning about a non available filter in verbose mode ( -v )
without -v it kept silent, and users sometimes missed this warning

the request was that it should print this warning always. so, the new format, is e.g

./h5repack -i test_szip.h5 -o out.h5
Warning: dataset </dset_szip> cannot be read, SZIP filter is not available


due to this, and to avoid a lot of these messages in the shell test script, I modified
the script h5repack.sh so that it detects the presence of all filters in the environment
(previously it only detected SZIP)
the test files were also divided in more files , to make the script code easier to
follow


Solution:

Platforms tested:
linux
AIX (no szip)
solaris (no szip, no gzip )

Misc. update:
2004-07-13 14:09:41 -05:00
James Laird
eab58732d8 [svn-r8781]
Purpose:
HDF5 now supports SZIP with no encoder.

Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder.  HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.

Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id.  See SZIP RFC.

Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)

Misc. update:
2004-07-01 12:38:04 -05:00
Pedro Vicente Nunes
7d8b8f129d [svn-r8352] Purpose:
bug fix

Description:
the routine for reading the options from a file had the "old" parse syntax

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-04-14 11:41:43 -05:00
Pedro Vicente Nunes
698f1af7ce [svn-r8320] Purpose:
new tests for h5repack

Description:
added more tests both to the test program and shell script that test
a variation of different filter converssions

Solution:

Platforms tested:
linux


Misc. update:
2004-04-07 20:44:14 -05:00
Pedro Vicente Nunes
45878f9a8a [svn-r8311] Purpose:
cleaned some comments and printfs

Description:

Solution:

Platforms tested:
linux

Misc. update:
2004-04-06 13:30:30 -05:00
Pedro Vicente Nunes
6705762081 [svn-r8297] Purpose:
bug fix

Description:
the synntax of the input of h5repack conatined double quotes and spaces, which
were causing problems on the parsing in AIX paralell

Solution:
replaced the spaces by =
that is, instead of -f "GZIP 6"
we have now
-f GZIP=6

Platforms tested:
linux
solaris
AIX paralell


Misc. update:
2004-04-02 10:52:24 -05:00
Pedro Vicente Nunes
931efcb5eb [svn-r8229] Purpose:
1) new function  for tools library
2) new test script for h5repack


Description:
1) currently all the tools (h5dump, h5diff, etc)  do not check if a filter is available
for reading some dataset that might have a filter not available on the current configuration (the behaviour
of the tools until now was to trigger a library error, saying that the dataset cannot be read
due to the lack of the filter)


Solution:
1) added a new function h5tools_canreadf that checks if a dataset can be read
depending on the availability of filters.
this function was added in calls for h5diff and h5repack.
instead of triggering the library error, a message is printed, saying that the dataset
cannot be read (the print is optional, it is on on verbose mode)

2) added a shell script that tests the commannd line tool behaviour of h5repack
the script does a series of runs of h5repack  with several options on the same file (this file test4.h5
was added to the testfiles dir).
then, it runs the h5diff tool, with the input and output files , in each run.
the goal of the test is also to check item 1) . the binary file was saved with filters
that might not be available on other configurations


Platforms tested:
linux (all filters enabled)
linux (some filters disabled)
solaris (some filters disabled)
AIX (some filters disabled)
windows (all filters on and off )


Misc. update:
2004-03-02 13:12:25 -05:00