small bug fix
Description:
If specifying --stride, it was checking for the wrong short-form of
the command-line parameters.
Solution:
Changed the 'T' to 'S' which is the new short form for the stride
option.
Platforms tested:
Linux
Update
Description:
If the count for a subset isn't specified, then we default to the
remainder of the dataset.
Solution:
Check for the count to be specified. If not, then find the dimensions
of the dataset and subtract from the the "start" parameter.
Platforms tested:
Linux
Update
Description:
Updated the way the subsetting data is retrieved. It now does it one
row of blocks at a time. It may still run out of memory, but this is
at least a good first step.
Also, the start parameter defaults to (0, 0, ...) if it isn't
specified.
Platforms tested:
Linux
Update
Description:
Replaced
#include <hdf5_file.h>
with
#include "hdf5_file.h"
so that gcc can pick up our files more easily without picking up
system header files (which we don't care about being in the
dependencies list).
Platforms tested:
Linux
Update
Description:
Replaced "#include <hdf5_file.h>" with the equivalent, but better
#include "hdf5_file.h" so that gcc can pick up our header files more
easily.
Platforms tested:
Linux
Purpose:
a bug fix
Description:
when creating sds dimensional scale dataset, I accidently created two sds dimensional scale dataset with the same name, (say using name "dim1" for both rank 2 and rank 3).
hdf4 library doesn't give me complaints, hdp dumpsds doesn't generate complaints. h4toh5 converter since assumed that dimensional scale name has to be unique, simply skip if finding the same dimensional name, so accidently the result from hdp dumpsds are the same as the result from h5dump until I implement library API and find this bug.
Solution:
make unique sds dimensional scale name for this test file. Will also need to modify testfiles later.
suggestions: somebody check hdf4 library to disallow the same dimensional scale nameOused for the same sds object.
Platforms tested:
eirene, and this check in will not affect daily test.
Update
Description:
Applied fix to h5dumper which was applied to the 1.4 branch. Done
just before creating subdirectories in the 1.4 branch.
Platforms tested:
Linux
Updated
Description:
Updated test results for the h5dumper's XML option. The tool now
conforms with the fixes implemented in the 1.4 branch.
Platforms tested:
Linux
Feature Add
Description:
This is the first (alpha) version of h5tools which does subsetting
according to the subsetting document. There's still some niceties
which need to be worked out, but this is the ground work.
Platforms tested:
Linux
Bug Fix.
Description:
Kent is correct about the malloc error. It's harmless if it's not
needed anyway.
Solution:
Removed the #ifdef's since all platforms should use this.
Platforms tested:
Linux
Purpose:
fixing the format of dumper output for windows test
Description:
New dumptest includes the feature that an error of the output will be put into stderr in linux
On windows, that stderr will not be redirected into the output file and the comparsion between the expected file and the dumper output is not correct.
Solution:
change fprintf(stderr .....) at h5tool_util.c into fprintf(stdout ......) so that it fits the comparison.
Platforms tested:
windows 2000
Purpose:
a bug fix on windows(possible on other platforms)
Description:
not allocating enough space for a string at dump_all for debug version
a string tmp is defined at dump_all(....),
The memory that is allocated to tmp is malloc(strlen(prefix)+strlen(name)+1);
However, there is one testing case : strlen(prefix) is 0 and
tmp is allocated in the following:
strcat(tmp,"/");
strcat(tmp,name);
....
free(tmp);
the program fails when freeing tmp for debug (dll) version on windows 2000
Solution:
For windows platform:
allocate memory strlen(prefix)+strlen(name)+2
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
a bug fix
Description:
uninitialize the start and edge value for test_ras8 and test_ras24 functions
Solution:
initialize
Platforms tested:
eirene,arabica
Update
Description:
Due to code motion, some functions which were being called were moved
to another module. Included only that header file.
Platforms tested:
Linux
Update
Description:
Updated to reflect the new naming of APIs in the h5tools library.
I.e., things which were once named "h5dump_*" now have the "h5tools_"
prefix instead.
Platforms tested:
Linux
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
Code Movement
Description:
Moved some functions which worked only with the h5tools_str_t
structure from the h5tools module to the h5tools_str module.
Platforms tested:
Linux
New Modules
Description:
Separated the "generic" functions out of the h5tools module into
their own separate module to make things a bit nicer to deal with.
Platforms tested:
Linux
Bug Fix
Description:
For some reason, it was trying to cd to the examples/ and pablo/
directories to do a distclean. Only problem was, they aren't here.
Solution:
Removed those from the `for' loop.
Platforms tested:
Linux
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
Resubmit of Changes
Description:
Previous changes to the h5dumper were lost. This patch includes
better memory management of XML formatted strings along with the bug
fixes for the XML code.
Solution:
Merged the XML patch with the previous code.
Platforms tested:
Linux
Bug Fix
Description:
Some platforms (gondolin) don't necessarily have the vsnprintf
function.
Solution:
Changed it to HDvsnprintf and added a header for H5private to include
it...
Platforms tested:
Linux
Bug Fix
Description:
We were trying to build the talign test program before the library
was actually built.
Solution:
Moved talign test to the lib directory since it belongs with the
library anyway.
Platforms tested:
Linux
Purpose:
Bug fix.
Description:
Order of elements in groups is wrong. (Need to find out why
h5gen accepted this at all.)
Note that test output had to be corrected in some cases.
Solution:
Fixed xml_dump_group to do the right order to match the DTD
Platforms tested:
Linux, solaris.
Fix
Description:
Left in the separate subdirectories fro the small programms.
Solution:
removed them and replaced with the misc/ subdirectory
Platforms tested:
Linux
Code Movement
Description:
Moved the tools into their own separate directories (except for these
small tools which are REALLY small, not tested, or documented,
really...They just get put into the misc/ directory).
Platforms tested:
Linux and Kelgia
Purpose:
fix bug in XML output
Description:
OBJ-XID, Parents, etc. were messed up in several cases.
Solution:
Fixed. Updated tests to have correct results in them
Note: tvldtype.h5.xml is a junk file,
Platforms tested:
Solaris 2.7
Purpose:
fix bug in XML output
Description:
OBJ-XID, Parents, etc. were messed up in several cases.
Solution:
Fixed. Updated tests to have correct results in them
Platforms tested:
Solaris 2.7
Bug fix
Description:
h4toh5test was being installed because it was put in the PUB_PROGS
which is specifically for public programs to be installed.
Solution:
Moved it away from the PUB_PROGS list to the PROGS list.
Platforms tested:
eirene.
Purpose:
Fixing Makefile.in for compiling h4toh5test.c at the right option
Without including hdf4 lib, h4toh5test will not be generated.
Description:
Solution:
Platforms tested:
arabica
Feature Add
Description:
Added support for the h4toh5test program which needs to be
conditionally compiled in only if HDF4 is specified.
Platforms tested:
Linux
Feature Add
Description:
This is the first phase of adding subsetting to the dumper. The
command-line parsing should be pretty much set right now.
NOTE: The revision before this one can be used to back port to the
1.4 branch when the XML stuff is folded into that branch for
release.
Platforms tested:
Linux
Purpose:
adding new test hdf4files to be tested by h4toh5 converter
Description:
Solution:
more typical test files are used
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
source code to generate hdf files for h4toh5 converter
Description:
Solution:
see the comments of the code. this file is handled similar with h5dumptst.c
Platforms tested:
eirene, arabica
Purpose:
bug fix
Description:
two bugs: 1. different order of conventions of sds and image in hdf4 is
considered at h4toh5image.c file.
add palette colormodel attribute and correct names of
a few attributes. see detail at:
http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm
2. convert hdf internal vdata structure(chunking table)
into a new hdf5 dataset.
Solution:
1. change h5 data space order for image.
h5dims[0] = edge[1]-edge[0];
h5dims[1] = start[1]-start[0];
2. at h4toh5main.c, check the vdata class name and if the
first few characters match with HDF_CHK_TBL; ignore converting
this vdata.
3. add a few attributes at h4toh5pal.c
platforms:
linux and sun 5.7(arabica)
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Update
Description:
Updated the code so that error messages are sent to stdout instead of
to /dev/null. Albert says that it was supposed to be doing this
anyway, so...
Also did some formatting changes.
Solution:
Changed the "2>/dev/null" to "2>&1"
Platforms tested:
Linux
Code cleanup
Description:
Cleaned the code up a bit getting rid of some warnings about "const"
being lost from passing a const char * to a function, etc.
Also force the error messages to stderr instead of simply printing
them to stdout. The same behaviour can be achieved by running h5dump
like:
h5dump ... 2>&1
however, the error reporting before this change wasn't consistent in
its use. I also made some of the error messages clearer (giving names
of the failed types and, when there's an "internal error", reporting
the line number the error occurred on so that we can debug).
Solution:
Converted to "fflush(stdout); fprintf(stderr,...);" for all error
reportings.
Platforms tested:
Linux
Improvement
Description:
The mkdir testfiles and the testing of h5dump have their stderr
redirected to /dev/null. Thus no way to see error messages when happen.
Removed the redirection
Platforms tested:
Eirene (linux).
document
Description:
Added comments in how to use the program and instructions
that the corresponding may need updates if new batch of binary
files are created.
Platforms tested:
Eye-balled only. (Just a few lines of comments.)
Purpose:
windows bug fix
Description:
need extra header files for windows
Solution:
add #ifdef win32 #endif loops
Platforms tested:
windows 2000, confirmed at eirene
Name change
Description:
Changed the names of the testh5toh4 and testh4toh5 scripts to the
"canonical" form -- testh4toh5.sh and testh5toh4.sh.
Platforms tested:
Linux
Bug fix
Description:
I dropped the boat on this one. I assigned prefix to NULL after it'd
been allocated...My bad.
Solution:
Stopped doing that.
Platforms tested:
Linux
Code cleanup
Description:
Changed so that the streaming stuff is inserted if > 1.2 version.
Also modified init_prefix function so that it's sane.
Platforms tested:
Linux
Annoying code cleanup
Description:
This code could all be on one line, but wasn't for some reason.
Solution:
Made it into one printf() call.
Platforms tested:
Linux
Code Cleanup
Description:
Cleaned up where structures were. Added comments to new functions.
Removed strcpy(prefix, "") and made it prefix = NULL; since that's
what it's doing anyway.
Platforms tested:
Linux
Bug fix
Description:
Compiler on sangamon (HP/UX 10.20) is having problems with the statement
"#ifdef 0".
Solution:
Changed statement to "#if 0" instead.
Platforms tested:
Eyeballed...
Code cleanup.
Description:
Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
extra warnings. Including a few show-stoppers for compression on IRIX
machines.
Solution:
Changed lots of variables' types to more sensible and consistent types,
more range-checking, more variable typecasts, etc.
Platforms tested:
FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
New Feature
Description:
Changed the command line flags in the h5dumper so that they accept
both short and long flags. The flag syntax for some have changed
(I.e., object ids are no longer -v but -i and -header is now -H or
--header, etc.) A new function is added called get_options which can
be used for all other tools as well.
Had to change these output files to accept the correct flags.
Platforms tested:
Linux
New Feature
Description:
Changed the command line flags in the h5dumper so that they accept
both short and long flags. The flag syntax for some have changed
(I.e., object ids are no longer -v but -i and -header is now -H or
--header, etc.) A new function is added called get_options which can
be used for all other tools as well.
Platforms tested:
Linux
2000-12-28 12:03:41 Robb Matzke <matzke@llnl.gov>
* main: If the file cannot be opened then immediately try the next
argument. This prevents multiple error messages from
the same file.
Purpose:
bug fix
Description:
1. zeroing out memory before using the memory buffer
2. before wrongly using Vquerysize API of HDF4 to obtain
the real file size of record type in HDF4. Actually Vquerysize will
return the real data type size in Memory. That will cause the object
reference difference on Cray which file size is not equal memory size.
Solution:
1. using h4toh5ZeroingMemory function to zero out memory.
2. calcuating the real file size of vdata record in the converter instead of
using Vquerysize HDF4 API.
Platforms tested:
Cray J90, arabica, eirene
Purpose:
bug fix
Description:
Zeroing out all memory buffer before it is being used.
Solution:
using h4toh5ZeroMemory function
Platforms tested:
linux(eirene), arabica(sun 2.7)
Purpose:
kind of bug fix for windows
Description:
Use HDfree() instead of free() so that it will not cause exceptions on windows dll
Solution:
Platforms tested:
windows NT 4.0 and 5.0, confirmed at Linux box.
Bug Fix
Description:
Stumbled across a problem when working on the J90 h5dump problem where
I noticed that some of the output for named compound datatypes wasn't being
displayed.
Solution:
Generated correct DDL files.
Platforms tested:
FreeBSD 4.2 (hawkwind) & Cray J90 (killeen)
Bug Fix
Description:
Stumbled across a problem when working on the J90 h5dump problem where
I noticed that some of the output for named compound datatypes wasn't being
displayed.
Solution:
Corrected output to display missing information.
Platforms tested:
FreeBSD 4.2 (hawkwind) & Cray J90 (killeen)
Purpose:
a bug fix for windows
Description:
ignore checking the permission of file and directory on windows
Solution:
using ifndef WIN32 endif to ignore checking this feature.
Will find how windows deal with file checking stuff later.
Platforms tested:
WIN 2000, and confirmed at eirene(Linux)
Purpose:
turn off "checking file and directory permission right" on windows platform
Description:
Adding #ifndef WIN32 #endif block at the corresponding test-file and test-dir functions.
Solution:
See above.
Platforms tested:
Win NT 4.0,5.0; and confirm the result the same on eirene and arabica
Bug Fix.
Description:
Attributes whose datatype was an object or dataset region reference weren't
dumping correctly.
Solution:
Pass along attribute ID to the code which prints the attributes, so the
reference types can be dereferenced and printed.
Platforms tested:
FreeBSD 4.2 (hawkwind) & IRIX64 6.5 (modi4)
Following up on added tests.
Description:
Added the code to generate the vldata and array test files added into
the h5dump test suite recently. This doesn't have any affect on the
library or tools, it's just for future reference.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Purpose:
bug fix (zeroing memory for memory allocating for the name of dimensional list)
Description:
At modi4, test failed due to garbage read for name of dimensional list.
Solution:
zeroing out memory before writing the name.
Platforms tested:
modi4, eirene(Linux)
Code cleanup/bug fix
Description:
Variable length datatypes were leaking memory when being dumped.
Solution:
Reclaim the VL data after each element has been dumped out.
Platforms tested:
FreeBSD 4.2 (hawkwind) & Solaris 2.6 (baldric)
Re-enabling features.
Description:
Re-add the tests which had been core-dumping on a couple of platforms, now
that the underlying bug is fixed.
Platforms tested:
FreeBSD 4.2 (hawkwind) & Solaris 2.6 (baldric)
Bug fix.
Description:
Data dumping routines weren't correctly handling scalar dataspaces when
dumping them. Under some circumstances, it would get into infinite loops.
Solution:
Small patches to avoid problems when the number of dimensions is zero.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Bug workaround
Description:
tarray4.h5 and tdvltypes4.h5 are causing core dumps on modi4
Solution:
Commented out those tests for now. I'll take a look at them after the code
freeze for the beta-release is finished.
Platforms tested:
O2K (modi4)
Bug fixes and misc. code fixing.
Description:
Updated to reflect current DDL document. Also changed VL data to be able
to be able also dump VL data of any other datatype.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Bug fix
Description:
The code for determining what a string should print out if it was
declared as H5T_STR_NULLTERM (C strings), H5T_STR_SPACEPAD
(Fortran strings), or H5T_STR_NULLPAD (print null characters to
the end of the line) was mucked. A user had a problem with it and
suggested a change, but the change didn't seem to work properly.
Also, if the string was H5T_STR_SPACEPAD, it could have stopped
when encountering a NULL even if it hadn't gotten to the end of
the string.
Solution:
Reworked the code to make it more understandable what's happening
and to add in support for H5T_STR_SPACEPAD which may have been
missing before.
Platforms tested:
Linux
Bug fix
Description:
If TESTH5TOH4 or TESTH4TOH5 wasn't set, then it would mess up the
testing process by adding a ``#'' to the for statement (since
there was a line-continuation in the definition of the macro).
Solution:
Placed the macro expansions all on one line so that there's no
junk characters picked up by accident.
Platforms tested:
OSF1 (Gondolin)
Bug fix
Description:
With the changing of the spelling error in the h5ls usage
statement, these testfiles puked.
Solution:
Corrected them in there.
Platforms tested:
Linux
Code cleaning
Description:
Use the variable to rid the warnings of "variable set but not used".
Platforms tested:
Linux and modi4 -64. Just compile only.
Bug fix
Description:
The output of floating point dumps wasn't necessarily standard.
The h5ls utility does it in a better way.
Solution:
Changed the output parameters from %g to %1.*g and added the
appropriate FLT_DIG/DBL_DIG parameter for the `*' in the above.
Platforms tested:
Linux
Bug fix
Description:
I was writing things out to the HDF file in big-endian format
without doing any conversions on the data or anything like that.
This was causing tests to fail on most machines
Solution:
Removed the big-endian craziness...But, this kinda resulted in a
bug in the HDF dumper which Albert and Robb suggested ways of
fixing.
Platforms tested:
Linux
pathc
Description:
TFLOPS coredumped on h5ls because when h5ls calls ioctl(TIOCGWINSZ),
the ioctl() routine coredumped inside.
Solution:
It is likely that TFLOPS does not support window-size in the
compute nodes. Still, it should not coredump. Bypass it for
TFLOPS for now.
Platforms tested:
TFLOPS & modi4 (-64)
Bug fix
Description:
[Most] SGIs failed on dumping VL data during the daily tests they
seem to be initializing variables differently, exposing a bug in dumping
datasets with scalar dataspaces.
Also, clean up code to get rid of compiler warnings.
Solution:
Initilialize variable correctly.
Platforms tested:
SGI IRIX 6.5 (paz)
Bug fix.
Description:
VL datatype dumping was not working correctly on most machines because
the "native" version of the variable-length type wasn't being generated
for the printing process.
Re-enabled VL dumping test
Solution:
Generate "native" version of the VL datatype to read in for printing,
also some code cleanup in the VL dumping algorithm.
Platforms tested:
FreeBSD 4.1.1 (hawkwind) & Solaris 2.6 (baldric)
Feature
Description:
Variable length data dumping for simple (i.e., either SCALAR or
1-Dim array variable length datatypes) should work. Added to the
tests...
Platforms tested:
Linux
Updated for new array datatypes.
Description:
I missed these tools earlier when I wasn't compiling with HDF4...
Solution:
Updated them (correctly, I hope) to use the new array datatype instead of
compound datatype array fields.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Recoding of VL dumping.
Description:
I'm using hyperslabs to select the variable length data. I don't
have any tests which I've checked in just yet. I'll create those
later.
Platforms tested:
Linux
Purpose:
check in beta release h4toh5 converter
Description:
1. add copy right and other comments to all .h and .c files
2. fix bugs on sds unlimited dimension, hdf5 dimensional scale attribute and vdata translating
from h4 to h5.
Solution:
2.
1) for sds with unlimited dimension to be converted into extensible hdf5 dataset,
on hdf5 side, has to set a default chunk size even though the corresponding hdf4 file is not
chunked.
2) in this version, if sds object doesn't have dimensional scale data, we will not show
the default hdf4 dimensional name ("fakedim0", etc.) in the new hdf5 dimensional scale
name attribute.
3) fix a bug transferring vdata of which the field includes a character array. Make it correctly transfer into the corresponding hdf5 compound data type.
Platforms tested:
eirene,arabica,baldric,hawkwind,paz,gondolin on new set of hdf4 test files.
Purpose:
Adding more expected files for testing h4toh5 converter
These test files include hdf5 files that are expected converted from hdf4 files for various vdata
and vgroup cases.
Description:
Solution:
Platforms tested:
eirene,arabica,hawkwind,paz
Purpose:
Add testing files for h4toh5 converter
Two more files for testing native float data type sds objects
Description:
Solution:
Platforms tested:
arabica,eirene,hawkwind,paz
Purpose:
Adding expected files for h4toh5 converter
two test files for annotation
Description:
Solution:
Platforms tested:
arabica,eirene,paz,gondolin,hawkwind
Purpose:
Adding testing files for h4toh5 converter
hdf4 test files for various tests on vgroup(including, hardlink,loop,nameclashing etc.)
Description:
Solution:
Platforms tested:
arabica,eirene,paz,gondolin,hawkwind
Purpose:
Adding testfiles for h4toh5 converter
more testing files for sds objects in various datatypes
Description:
see above
Solution:
Platforms tested:
eirene,arabica,gondolin,paz,hawkwind
Purpose:
Adding testing files for h4toh5 converter
these files are parts of files that test different datatype sds objects.
Description:
see above
Solution:
Platforms tested:
eirene,arabica,gondolin,paz,hawkwind
Purpose:
Add testing files for h4toh5 converter
test files for testing dimensional scale dataset and unlimited dimension case
Description:
see above
Solution:
Platforms tested:
eirene,arabica,hawkwind,paz,gondolin
Purpose:
add several files to test h4toh5 converter on hdf image with different datatype
Description:
see above
Solution:
Platforms tested:
eirene,hawkwind,arabica
Purpose:
Add two test files for testing h4toh5 converter to convert image objects associated with attribute and image.
Description:
see above
Solution:
Platforms tested:
arabica,eirene,hawkwind
Purpose:
add a hdf4 file to test converter for converter object annotation into hdf5 attribute
Description:
see above
Solution:
Platforms tested:
eirene,hawkwind,arabica
Purpose:
add more hdf4 test files for converter
Description:
in this script, run CONVERT test files
Solution:
Add CONVERT h4file h5file in this script
Platforms tested:
eirene,hawkwind,arabica
"bug fix"
Description:
the h5ls tests sometimes failed because the tool sometimes prints
the tool name in the help message as "lt-h5ls" while the
expected result has it as "h5ls". This was the tools pulled its
name from argv[0].
Solution:
Hardcode the progname as "h5ls" and blocked out the code that
pulls the program name from argv[0]. The better solution is
to find a way to create the real binary with the orginal tool
name.
Platforms tested:
linux
new feature
Description:
h5tools.c:
Created h5tools_init() and h5tools_close() for the initialization
of the h5tools library and closing of it. With this, the rawdatastream
and other internal structures can be initialized properly.
h5tools.h:
added prototypes for h5tools_init and h5tools_close.
h5dump.c:
h5ls.c:
Added the calls for h5tools_init() and h5tools_close().
Platforms tested:
IRIX64 -64 parallel and Linux
* 2000-10-31 Robb Matzke <matzke@llnl.gov> (main)
Added calls to MPI_Init() and MPI_Finalize() for parallel
versions in order to prevent errors about unrecognized
command-line options.
* 2000-10-31 Robb Matzke <matzke@llnl.gov> (dump_dataset_values)
The `float' and `double'
values are displayed with the full precision instead of just the
default `%g'.
Purpose:
Testing
Description:
The h5ls test script only looked at exit status.
Solution:
Created expected output files and compare actual output
with expected output.
Platforms tested:
i686-pc-linux
* 2000-10-31 Robb Matzke <matzke@llnl.gov> (verbose)
Compares output to expected
files. This should work just fine because we're not using the `-v'
option which prints datatypes in a machine-dependent way.
* 2000-10-31 Robb Matzke <matzke@llnl.gov> (h5dump_sprint)
The whitespace added for
indentation after the line-feed kludge is performed only if a
line-feed was actually inserted. This fixes funny-looking h5ls
output that had ` %s' sequences appearing in nested compound
datatypes.
Also added a prominent warning in the code to indicate that when a
line-feed is inserted into the string that column number
calculations will be incorrect and object indices will be missing.
Bug Fix
Description:
People need to type in the full-path to the
attribute/dataset/etc. and weren't being told to do so by the
"usage" statement.
Solution:
Added an example and changed <names> to <path> to be more
explicit...
Feature
Description:
Allow dumping of variable length records. This is a first-time
stab at this. It doesn't break any tests on my Linux box and it
does output the variable length data, but it might look ugly (it
doesn't handle new-lines as of yet)...I'm open to suggestions on
what should be done next, what new features to add/remove...
Platforms tested:
Linux
New tests
Description:
Added a new test file (tsaf.h5) for h5dump and h5ls. The test file was
created by lib SAF team. This file used to cause previous version
of hdf5 tools to core dump.
tsaf.ddl is the expected output from h5dump.
Platforms tested:
IRIX64 -64, linux
New tests
Description:
Added a new test file (tsaf.h5) for h5dump and h5ls. The test file was
created by lib SAF team. This file used to cause previous version
of hdf5 tools to core dump.
Platforms tested:
IRIX64 -64, linux
new feature
Description:
h5ls was not tested
Solution:
Added a test script, testh5ls.sh, to give h5ls some tests.
Since the output from h5ls is sometime machine dependent (e.g.,
Datatypes), can not compare them with expected output. For now,
run it against various hdf5 binary files. If it exits with 0,
consider it passes.
Platforms tested:
IRIX64, eirene, arabica.
tidy it up
Description:
Change the variable names so that it looks more generic. Plan to
make it a generic script test template.
Platforms tested:
IRIX64-64, linux, solaris 2.7
Feature symmetry
Description:
A while ago I needed to get the 'type' of data being accessed during writes
to the VFL driver, so I put in code to get the information down there.
Albert asked for the same information during reads, so I've added that in.
Tested:
FreeBSD 4.1.1 (hawkwind)
Purpose:
1. fix multiple defination warnings at sgi platform
2. adding chunking information from hdf4 to hdf5 property list.
Description:
1. Orginally global varibles were defined at one header file and this
header file were included by other .c file and .h file so multiple warnings are
generated.
2. Chunking information was not included in the previous version.
Solution:
1. use "extern" to define global variables at h4toh5util.h file and define global variables
at h4toh5main.c
2. retrieve the chunking info from sdgetchunkinfo and GRgetchunkinfo and store these information
into hdf5 property list.
Platforms tested:
eirene,arabica,paz,gondolin
Bug fix
Description:
gmake check had been failing because of errors in the Makefile.
Solution:
Fixed it so that libtools.a got build first.
Platforms tested:
Eirene (Linux)
Bug fix (ID 419)
Description:
Converted strings class types (in dataset and attributes) to
HDF4 type of DFNT_INT8. Should have been DFNT_CHAR type.
Solution:
h5toh4.c:
Changed the HDF4 type from DFNT_INT8 to DFNT_CHAR type.
Converted all hdf5 strings (be it NULLTERM, NULLPAD, SPACEPAD)
all to fixed width space padded HDF4 DFNT_CHAR.
testh5toh4:
Added the testing of $HDF_NOCLEANUP before cleaning away the result files.
testfiles/Expected/tattr.hdf:
testfiles/Expected/tstr.hdf:
testfiles/Expected/tstr2.hdf:
Updated with the corrected DFNT_CHAR type.
Platforms tested:
Solaris 2.7, Linux, Irix 6.5.
Purpose:
fixing output format of character array converted from hdf4 vdata.
Description:
Now one dimensional chactacter array can be outputed as one H5 string instead of string of array before.
Solution:
modify gen_h5comtype() so that when we detect the datatype is hdf5 string, we will merge hdf4 fieldorder into H5T string size and output the whole character array into hdf5 string(with string size = size of the array length).
Platforms tested:
eirene(LINUX), arabica(sun 5.6)
Purpose:
fix "zero memory" routine and change dimensional scale name size to MAX_DIM_NAME
Description:
change bzero into h4toh5_ZeroMemory
change dimensional scale name size(orginally MAX_NC_NAME) to MAX_DIM_NAME at converter.
Solution:
see description
Platforms tested:
arabica,baldric,gondolin(DEC),opus(HP 11),eirene(Linux),paz(IRIX6.5)
Purpose:
1. fix size of dimensional name list so that the size of dimensional name in dumper output
will not change because of different versions of hdf library(h4toh5util.h and h4toh5sds.c).
2. fix bzero routine for windows platform(h4toh5util.h,h4toh5util.c,h4toh5anno.c,h4toh5main.c,
h4toh5sds.c)
Description:
1. change the MAX_DIM_NAME into 276(MAX_NC_NAME +dimension group name) and hopefully we will
not expand the size of MAX_NC_NAME(currently 256) for a long time.
2. create a new routine(h4toh5_ZeroMemory) to zero out memory. Use ZeroMemory in windows and
bzero at UNIX.
Solution:
see Description.
Platforms tested:
LINUX(eirene),WINDOWS 2000, sun 5.6(baldric and arabica),HP-UX11(opus),DEC(gondolin),IRIX 6.5(paz).
No change.
Description:
Must've added some debuging printf's and then took them out in a way which
triggered CVS.
Platforms tested:
Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
Adding Testing
Description:
Alignment when putting elements in a compound datatype can be
off.
Solution:
This was a bug which I'd fixed. Here's a program to exercise the
bug.
Platforms tested:
Linux
Bug Fix
Description:
Test was not detecting hdp tool from HDF 4.1r4 correctly.
Solution:
Modified test to detect HDF4.1r[3-9] correctly.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Bug fix
Description:
In the h5dump_fixtype function, when users created a COMPOUND
datatype, the alignment would be off somewhat.
Solution:
The alignment was being set after insertion. I changed this code:
for (i = 0, offset = 0; i < nmembs; i++) {
H5Tinsert_array(m_type, name[i], offset, ndims[i], dims + i * 4,
NULL, memb[i]);
for (j = 0, nelmts = 1; j < ndims[i]; j++)
nelmts *= dims[i * 4 + j];
offset = ALIGN(offset, H5Tget_size(memb[i])) +
nelmts * H5Tget_size(memb[i]);
}
to:
for (i = 0, offset = 0; i < nmembs; i++) {
if (offset)
offset = ALIGN(offset, H5Tget_size(memb[i]));
H5Tinsert_array(m_type, name[i], offset, ndims[i], dims + i * 4,
NULL, memb[i]);
for (j = 0, nelmts = 1; j < ndims[i]; j++)
nelmts *= dims[i * 4 + j];
offset += nelmts * H5Tget_size(memb[i]);
}
The alignment is now calculated before the insertion.
Platforms tested:
Solaris, Linux
Bug
Description:
The testh5toh4 was removing all .h5 files from the testfiles
directory, however, with the addition of testh4toh5, we need some
.h5 files in there.
Solution:
Changed the scripts so that an output directory is created for
all of the processed files. This is removed after the test is
finished.
Platforms tested:
Linux
Bug fix
Description:
Attempted to close rawdatastream even if it has not been
used to open a new file. Many systems tolerated the NULL
value but not FreeBSD.
Solution:
Check for the NULL value too.
Platforms tested:
hawkwind (freeBSD) and modi4 parallel.
New Feature
Description:
Add -o option to h5dumper. It displays the raw data of datasets to a
separate output file.
Add a feature to h5tools library that it uses the FILE *rawdatastream
as the stream for the display of datasets raw data.
Solution:
Define an "extern FILE *rawdatastream" in h5tools.h
and declare it in h5tools.c. This way, it would work
even if an application does not explicitely declare it.
Tried to initialized it to stdout as
FILE *rawdatastream = stdout;
but Linux gcc rejected it though all other platforms+compilers
accepted it fine. For now, put in a kludge to set it right
before it is used. Need a safer way to initialize it.
Platforms tested:
arabica, eirene, modi4 -64.
Bug fix and feature
Description:
It could not find a working h5dump to process the hdf5 files.
This could be because h5dump is not installed in $PATH or
a disfunctional one is found. (E.g. arabica:/usr/sdt/bin/h5dump
does not work.)
Setting it to ./h5dump or $PWD/h5dump does not work because
when h5dump is used, it has "cd testfiles", a different place.
Solution:
Set H5DUMP with the current absolute path (used `pwd` instead
of $PWD which is sometimes not set for whatever reason.)
Also add a feature to allow H5DUMP to be set to a different
value by hand. For example, if the h5dump just built is not
working correctly, one can do "H5DUMP=/usr/local/bin/h5dump make check"
to bypass the broken h5dump.
Platforms tested:
arabica
Reformat the source
Description:
The tabstop seems to defined different from 8-stops. The
source files looked very confusing. Just reformate the
files. Not change to source code at all.
Platforms tested:
modi4 -64.
Purpose:
add h4toh5 converter source codes under tools directory.
Description:
this is the expected hdf5 result for h4toh5 converter.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
add h4toh5 converter source codes under tools directory.
Description:
this is the test file for h4toh5 converter.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
add h4toh5 converter source codes under tools directory.
Description:
[describe the bug, or describe the new feature, etc]
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
add h4toh5 converter tool
Description:
add flag h4toh5 and testh4toh5 in the Makefile.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
test on eirene and arabica.
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Fix Irix pmake bugs
Description:
Build fails on Irix when builddir != srcdir
Solution:
* acconfig.h
* src/H5config.h.in [REGENERATED]
Added definition for HAVE_STREAM
* config/conclude.in
* config/depend1.in
* config/depend2.in
* config/depend3.in
* config/depend4.in
The `Dependencies' file is located in the source
tree. This fixes bugs for Irix pmake when compiling
outside the source tree. Hopefully it still preserves
Albert's changes which allow concurrent compilations
to not stomp on each other's Dependencies files.
* examples/Dependencies [REGENERATED]
* src/Dependencies [REGENERATED]
* test/Dependencies [REGENERATED]
* tools/Dependencies [REGENERATED]
Regenerated for testing purposes.
Platforms:
i686-pc-linux
mips-sgi-irix6.5
sparc-sun-solaris2.6
Added the Stream Virtual File Driver to the list of drivers
used for trying to open a file via h5dump_fopen().
Description:
The Stream VFD was added at bottom of the driver list for h5dump_fopen().
If no driver succeeded to open a file given by its filename
the Stream VFD would try to do so by parsing the filename as an
'hostname:port' argument, open a socket to that address and read
read the file.
This feature can be used to h5ls/h5dump streamed files.
Platforms:
All platforms (also between heterogenous).
1. The `driver' table is initialized only once, making it faster and
leaking less memory.
2. The returned driver name is set to the empty string on failure.
3. Added an argument so the function cannot overwrite the end of the
drivername return value.
4. Avoids core dump when assigning driver name to return value if the
file could not be opened by any driver.
5. Changed name of function to h5dump_fopen() to follow the naming
scheme for this source file.
6. Reindented according to hdf5 code standard.
7. Added `const' qualifiers to read-only formals.
8. Removed duplicate forward declaration.
Reindented some parts of these source files that had very odd indentation
(some lines had no indentation while others had 3x what they should).
Fixed calls to H5ToolsFopen() function.