Commit Graph

97 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Quincey Koziol
a4069db8f4 [svn-r14131] Description:
Move H5Giterate() and H5G_iterate_t to deprecated symbols section,
replacing them with H5Literate and H5L_iterate_t respectively.

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	AIX/32 5.3 (copper)
	Solaris/32 5.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-08-30 15:03:37 -05:00
Pedro Vicente Nunes
d9a56fa9ad [svn-r13874]
Changed macro names, conflict with new compiler

-- changed DATASET to H5_TOOLS_DATASET
-- changed DATATYPE to H5_TOOLS _DATATYPE
-- changed GROUP to H5_TOOLS_GROUP

In mingw's version of winsock2.h they define:

typedef unsigned int    GROUP;


remove STORAGELAYOUT macro, it was not used

tested: linux
2007-06-18 15:03:30 -05:00
Pedro Vicente Nunes
58cc7fb19a [svn-r13757]
h5repack and h5diff hyperslab I/O

changed the limit on which  hyperslab I/O is done from 1GB to 128MB

h5repack currently tests this feature by defining a dataset with dimensions of 128MB + 1byte (the datum being 1 byte integer), in which a 1Kb hyperslab was written.

tested: linux
there were some errors in running the tests, but these were in the library, due to a recent check-in that will be fixed shortly (at least we hope :-) )
2007-05-16 11:41:43 -05:00
Pedro Vicente Nunes
c24cea791f [svn-r13503]
Preparation for making 1.6 and 1.7 h5dump more similar and 1.6 to have 1.7 fixed bugs incorporated
2007-03-12 11:36:34 -05:00
Quincey Koziol
bb392083b2 [svn-r13297] Description:
Add small 'h5mkgrp' tool to create groups in an HDF5 file from the command
line, allowing the group structure for a file to be created in a script.  This
tool closely follows the 'mkdir' command line tool in UNIX/Linux.

    Allow tool library applications to pass a FAPL to the h5tool_fopen() call,
giving some additional flexibility to tools which are adding objects to an
existing HDF5 file (like h5copy & h5mkgrp).

    Fix missing files in MANIFEST from previous checkin(s).

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-14 08:54:11 -05:00
Quincey Koziol
d3c5ab50fc [svn-r13292] Description:
Add feature to h5copy to allow it to add an object to an existing file,
instead of blowing away existing file.

    Modify h5tools_fopen() routine to take access flags, so it can be used
to open an existing file for writing.

    Added check to h5copy test script that verifies it has produced a file
with the correct structure.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-13 17:42:43 -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
f234483372 [svn-r13076]
fix for bugzilla bug #551

several programming errors contributed to this bug

1) the parsing of subsetting was using atoi to convert the parameter to an int,
which caused problems for numbers greater that int. Substitute with atof

2) several index counters were declared as int, use hsize_t instead

3) the numerical format passed for printf was %lu, defined one compatible with
hsize_t instead (unsigned long long)
2006-12-19 13:14:26 -05:00
Pedro Vicente Nunes
a1edc70691 [svn-r12784]
Fixes for bugs 676, 228

676: both h5repack and h5diff use H5Dread. In the case of a "big"
dataset, use read/write by hyperslabs the same way h5dump uses. An
arbitrary value of 1GB was defined for "big", i.e, if the dataset is
greater than 1GB, then read/write by hyperslabs

228: use the file type in read/write by default. A new switch -n was
introduced if the user wants to use a native type, which was the
previous use by default.

Added a new test for h5repack that repacks a 1GB dataset

Tested: heping (serial, parallel), sol, copper
2006-10-19 12:07:26 -05:00
Albert Cheng
66d2d26f5d [svn-r12634] Purpose:
Code cleanup.

Description:
Removed argc and argv from the function arguments of h5tools_get_fapl() and
h5tools_fopen().  They were used to call MPI_Init() which was no longer
needed.

Tested:
heping (serial and parallel).
2006-08-27 19:55:27 -05:00
Pedro Vicente Nunes
c7384f49e0 [svn-r12513]
new feature
h5dump binary output. use little and big endian type conversions
2006-07-28 10:00:29 -05:00
Pedro Vicente Nunes
7637b67933 [svn-r12444] Purpose:
new feature

Description:

added support for h5dump to dump binary data using the file type format
added one test to the test script that tests this


Solution:

Platforms tested:
mir
shanti
copper


Misc. update:
2006-06-28 14:34:08 -05:00
Pedro Vicente Nunes
8846157e59 [svn-r12437] Purpose:
new feature. h5dump output of binary data

Description:
a new switch -b FILE_NAME that dumps the contents of memory data to file FILE_NAME in binary form

new program binread.c that reads the contents of this file and outputs it to stdout

added a test for the h5dump shell script that does a run of -b
the binread.c program reads the data used in this run, usage is ./binread FILE_NAME


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2006-06-26 09:41:59 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -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
Pedro Vicente Nunes
1b313aa2f6 [svn-r10738] Purpose:
bug fix 366

Description:
the printing of the array indices was done relatively to the stripmine data (data read
by hyperslabs when its memory requiremnts are too large)
this was causing an incorrect numbering of the array indices (the next read would initialize
the indices to zero)

Solution:
added a field to the print context that keeps track of the stripmine position
and pass to the rendering function the total element position

Platforms tested:
Linux

Misc. update:
2005-05-09 09:53:22 -05:00
Robert E. McGrath
89ed8ceec2 [svn-r10060] Purpose:
feature

Description:
h5dump support for scaleoffset compression

Solution:

Platforms tested:
verbena, shanti,copper64

Misc. update:
2005-02-21 14:27:56 -05:00
Quincey Koziol
610bf8a815 [svn-r9994] Purpose:
Bug fix

Description:
    Unbreak build by adding definition for NBIT macro.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-02-11 18:32:46 -05:00
Pedro Vicente Nunes
983e9a9e26 [svn-r9961]
Purpose:
bug fix, new test file

Description:
h5dump was not properly displaying array indices > 3D

Solution:
added the same algorythm and data structure that h5diff uses to calculate the array index
from a element number position

Platforms tested:
linux
solaris






Misc. update:
2005-02-08 15:55:17 -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
Robert E. McGrath
25c1e28ffd [svn-r9496] Purpose:
Fix SZIP filter to dynmically detect encoder.

Description:

Solution:
See:
http://hdf.ncsa.uiuc.edu/RFC/SZIP/Szip_dynamic_12_Oct.pdf

Changes to h5repack tests, contingent on detecting SZIP encoder.


Note new program:
	testh5repack_detect_szip

Checks fo rencoder, prints out "yes" or "no".  Used by hrepack.sh
to detect encoder.  Can also be used for windows tests.  This is
only used as part of the tests.

Had to modify Makefile to build and clean this program.
2004-11-02 14:14:14 -05:00
Quincey Koziol
defe612ab2 [svn-r9370] Purpose:
Refactor code

Description:
    Refactor common code for determining the native type for using in the
tools into separate routine.

    Also, reduce diffs between the two branches and bring back some fixes from
the development branch to the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    too minor to require h5committest
2004-10-06 11:11:18 -05:00
Pedro Vicente Nunes
a5f1d15035 [svn-r8715] Purpose:
h5dump output change, new tests

Description:
the storage layout output format the storage layout output format  had some changes
same for the user defined filter
add an option (-y) for not printing the array indices (default is print indices )
the option for escaping non printable characters covers all characters (default is not escape)
(this might be not very portable, the test files are  tstring.ddl and tstringe.ddl )
add tests for the new options


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-22 09:29:21 -05:00
Pedro Vicente Nunes
78ca05e040 [svn-r8644] Purpose: h5dump new features
Description:

added the code for print strings with new line and display the path of references (new source files h5tools_ref.c and .h )
added a test suite in testh5dump.sh.in for
( note : to create testh5dump.sh , one must redo ./configure; this detects the availability of filters
and generates  testh5dump.sh accordingly)
1) storage layout
2) fill value
3) print reference with path
4) print strings with new lines
5) filters

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-10 12:35:48 -05:00
Pedro Vicente Nunes
bad5b7ec31 [svn-r8622] Purpose:
h5dump new version

Description:
added the changes already made for 1.6
support for dumping of
1) filters
2) storage layout
3) fill value
4) comments
5) superblock
6) file contents
7) array indices


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-07 11:40:25 -05:00
Raymond Lu
9e9bdad5e9 [svn-r8563] *** empty log message *** 2004-05-21 10:58:53 -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
Quincey Koziol
1b147875db [svn-r8151] Purpose:
Bug fix

Description:
    Fix h5tools routines to not try to call MPI_Init() unless an MPI-based
VFD is actually used.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    Linux 2.4 (verbena) w/parallel
2004-02-04 17:43:00 -05:00
Quincey Koziol
233319898d [svn-r8143] Purpose:
New Feature.  (Contributed by Robb)

Description:
    Allow h5ls to specify a VFL with the '--vfl=' command line flag.

    Add MPI-I/O & MPI-POSIX VFL drivers to list of drivers available for
h5ls and h5dump.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    h5committested
2004-02-01 22:32:41 -05:00
Quincey Koziol
32220914a5 [svn-r7401] Purpose:
Code cleanup

Description:
    Remove various "fixtype" routines which duplicate (and actually pre-date)
    the functionality in H5Tget_native_type in favor of having the tools call
    H5Tget_native_type().  This provides the same functionality (actually better
    functionality, since the old "fixtype" routines didn't handle alignment of
    compound fields correctly) and reduces the amount of code to maintain.

    Add additional tests to dump out a "complex" compound datatype which
    exercises more code in the library for aligning compound fields correctly.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-25 15:00:56 -05:00
Bill Wendling
eb018ba036 [svn-r6544] Purpose:
Update

Description:
    Update copyright statement

Platforms tested:
    Linux (Comment change only)

Misc. update:
2003-03-31 13:10:51 -05:00
Quincey Koziol
1208e94eff [svn-r6296] Purpose:
Code cleanup

Description:
    Reduce warnings on Windows

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-17 15:34:14 -05:00
Bill Wendling
88729d4c14 [svn-r4282]
Purpose:
    Bug Fix/Feature Add
Description:
    Added new flag ("-f" and "--family") to allow user to specify which
    file driver to use to open the file. If they don't specify anything,
    then it defaults to the old behaviour of trying each driver in turn
    until one actually opens the file.

    If the driver the user specified doesn't succeed in opening the
    file, then we do NOT try other file drivers.
Platforms tested:
    Linux
2001-07-30 16:55:46 -05:00
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -05:00
Bill Wendling
32dba42ff8 [svn-r3573] Purpose:
Code Cleanup
Description:
    Moved some code out which wasn't specific to the h5tools into the
    h5tools_utils and h5tools_str modules. Also started on adding the
    subsetting feature to the dumping.
Platforms tested:
    Linux
2001-03-08 15:21:05 -05:00
Bill Wendling
2583f21941 [svn-r3517] Purpose:
More Subsetting
Description:
    Wanted to do a check-in of the current subsetting stuff. The
    command-line parsing was already in there. I now added the feature to
    the h5dump_t structure and it now outputs the new SUBSET DDL stuff in
    the correct format. It doesn't yet do the actual subsetting, but
    we're getting there...
Platforms tested:
    Linux
2001-02-26 18:58:08 -05:00
Bill Wendling
8d1b51e1ee [svn-r3490] Purpose:
Code Movement
Description:
    Moved tools code into own separate directories. This is the library
    code all of them share.
Platforms tested:
    Linux, Kelgia
2001-02-22 16:55:15 -05:00