499 Commits

Author SHA1 Message Date
Quincey Koziol
0cb78c2087 [svn-r5097] Purpose:
Bug Fix

Description:
    Regression test for following bug:

    The H5Gget_objinfo() function was not setting the 'fileno' field in the
    H5G_stat_t struct passed in.

Solution:
    Added a "file serial number" to each file currently open in the library
    and put that in the 'fileno' field.  If a file is opened twice (with
    H5Fopen) and the VFL driver detects that it is the same file (i.e. the
    two file structures have the same "shared file info" in the library's
    memory structures), they will have the same serial number.

    This serial number has two drawbacks:
        - If a VFL driver doesn't/can't detect that two calls to H5Fopen with
            the same file actually _are_ the same file, each will get a
            different serial number
        - If the same file is closed and re-opened, the serial number will be
            different.

    It is be possible to fix the second drawback for many VFL drivers, but it
    would be a lot of effort and probably isn't worth it until we've got a
    good reason to do it.  Dunno if we'll ever be able to fix the first
    drawback...

Platforms tested:
    FreeBSD 4.5 (sleipnir)
VS: ----------------------------------------------------------------------
2002-03-27 15:25:48 -05:00
Quincey Koziol
e23792a3f0 [svn-r5083] Purpose:
Bug Fix

Description:
    Regression test for following bug:

    When reading a contiguous hyperslab that spanned the entire dataset and
    was larger that the type conversion buffer, the hyperslab routines need
    to fill the type conversion buffer and then return to the I/O routines.

    When the I/O routines resume the hyperslab operation, it was possible to
    have a combination of coordinates which caused the hyperslab iterator
    to incorrectly advance in the file, causing some data to be re-read or
    re-written.

Platforms tested:
    Linux (eirene)
2002-03-26 14:55:44 -05:00
Pedro Vicente Nunes
34880b42a0 [svn-r5065]
Purpose:
    test the H5Dset_extend function
Description:
    changed the example for more easy debugging
Platforms tested:
    w2000, linux
2002-03-14 12:54:34 -05:00
Quincey Koziol
b8dbd390db [svn-r4978] Purpose:
Code cleanup
Description:
    Cleanup compiler warnings found by the SGI compiler and gcc 3.0
Platforms tested:
    FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
2002-02-16 21:51:21 -05:00
Quincey Koziol
5883b9d67d [svn-r4965] Purpose:
Bug Fix
Description:
    If a non-zero fill-value is used for a chunked dataset, any non-existent
    chunked read with an "all" selection (or a contiguous hyperslab selection)
    will return zero for those instead of the user's fill-value.
Solution:
    Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
    will be available to fill the user's buffer with.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-14 10:57:48 -05:00
Pedro Vicente Nunes
93ac2c571b [svn-r4950]
Purpose:
    fixed a bug that made a failure on H5Screate_simple, a 1D dimemsion array was declared instead of a 2D array


Platforms tested:
w2000  octopus
linux eirene
sun   arabica
IRIX64 modi4
2002-02-13 14:28:37 -05:00
Bill Wendling
f1bfb5ce8f [svn-r4943] Purpose:
Cleanup
Description:
	Added set_extend.h5 file to the CLEANUP macro in the Makefile so that
	it'll be removed when the other temp files are removed.
Platforms tested:
	Linux
2002-02-12 14:08:10 -05:00
Bill Wendling
f81bca3fc6 [svn-r4942] Purpose:
Feature Add
Description:
	Added set_extend to the MANIFEST and test/ directory Makefile.
2002-02-12 11:20:56 -05:00
Pedro Vicente Nunes
ec0cd59fe8 [svn-r4941]
Purpose:
    added a new test file for the new function H5Dset_extend
Platforms tested:
    windows2000
2002-02-12 11:16:34 -05:00
Quincey Koziol
d8626dd40f [svn-r4920] Purpose:
Bug fix
Description:
    Correct inefficient property copying when using derived property list
    classes.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-07 14:55:43 -05:00
Quincey Koziol
6de47c9c54 [svn-r4915] Purpose:
Bug fix & feature add
Description:
    Added new API function H5Sget_select_type to determine type of selection in
    a dataspace.  Return values are defined by the H5S_sel_type enumerated type
    in H5Spublic.h

    Also, hyperslab operations involving a "all" or "none" selection are not
    generating the correct resulting selections.

Solution:
    Added regression tests to verify correction operation of hyperslab
    operations against "all" and "none" selections.  New tests also verify
    H5Sget_select_type() API call.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-07 11:22:42 -05:00
Quincey Koziol
c6bd03047b [svn-r4905] Purpose:
Regression tests
Description:
    Generic property classes derived from an existing class were not having
    the parent class's properties copied into the new class.

    Additionally, derived classes were not being detected correctly.

Solution:
    Added regression tests to verify that these fixes are working:
        Copied properties from parent class into derived class.

        Modified H5P_isa_class_real() to walk back up the chain of parent
        classes to proper detect derived classes.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-06 11:08:29 -05:00
Quincey Koziol
f4bc9f929e [svn-r4869] Purpose:
Add regression tests
Description:
    Added regression test for using a VL-datatype in two separate files.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-27 00:23:11 -05:00
Quincey Koziol
5e7ed206ea [svn-r4851] Purpose:
Bug Fix
Description:
    When file space was returned to the file space free-list for reuse,
    occasionally raw data allocations which used space from the free-list
    would overlap with the metadata accumulator and get over-written with
    the cached information in the accumulator, corrupting the data.
Solution:
    Check if the space about to be recycled on the free-list is going to be
    used for raw data and also overlaps with the metadata accumulator cache,
    avoiding using space that fits those criteria.

    This fixes bug #701

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-23 16:28:24 -05:00
Quincey Koziol
7cc733d7c8 [svn-r4773] Purpose:
Regression test

Description:
    Added regression test which stores variable length strings as an attribute.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-03 21:42:49 -05:00
Albert Cheng
e22c095636 [svn-r4757] Purpose:
Removing the DPSS (gridstorage) driver source code.
Description:
    The DPSS (using Grid-Storage) driver is retired.
    Removed the configure option with-gridstorage from configure.in.
    Cvs remove the following files
    ./src/H5FDdpss.c
    ./src/H5FDdpss.h
    ./test/dpss_read.c
    ./test/dpss_write.c

    Regenerated Dependencies files (some had to be hand-edited since
    'make depend' did not cover them.)
    Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
    modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
2001-12-30 00:23:38 -05:00
Quincey Koziol
5560c64e25 [svn-r4747] Purpose:
Bug Fix.
Description:
    The H5Rget_object_type function could not get the object type for dataset
    region references.
Solution:
    Added a new function, H5Rget_obj_type, to replace H5Rget_object_type.
    The new function requires the reference type as an additional parameter,
    in order to allow queries on different reference types to be performed
    correctly.
Platforms tested:
    FreeBSD 4.4. (sleipnir)
2001-12-20 15:51:30 -05:00
Quincey Koziol
76034a33b2 [svn-r4737] Purpose:
Bug Fix
Description:
    Added regression test for proper library behavior when adding fields past
    the end of a datatype.
Platforms Tested:
    FreeBSD 4.4 (sleipnir)
2001-12-18 15:28:38 -05:00
Quincey Koziol
47d88766db [svn-r4706] Purpose:
Code cleanup
Description:
    Tweaked internal error handling macros to reduce the size of the library's
    object code by about 10-20%.

    Also cleaned up some compiler warnings...

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-12 13:40:09 -05:00
Raymond Lu
d28fd08f4a [svn-r4696]
Purpose:
    Modify H5Fclose behavior
Description:
    The HDF5 actual file close behaves in several ways in terms of if there
    are still objects(dataset, group, datatype) opened in file.
Solution:
    Added a new file access property, file close degree.  It has four values,
	H5F_CLOSE_DEFAULT
	H5F_CLOSE_WEAK
	H5F_CLOSE_SEMI
	H5F_CLOSE_STRONG
    The way a file is closed is decided by these values.
Platforms tested:
    IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
2001-12-11 14:53:44 -05:00
Quincey Koziol
3baaa562ee [svn-r4693] Purpose:
Bug Fix

Description:
    The code in H5Sselect_hyperslab_valid contained an fencepost error and is
    allowing selections which overlap the extent by exactly one element in any
    dimension to pass as valid instead of flagging the selection as invalid.

    This bug only affects hyperslabs which have been OR'ed together, not the
    selection from a single H5Sselect_hyperslab.

    This fixes bug #550.

Solution:
    Changed an '>' to an '>=' and added new regression test to check for error.

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-11 13:26:40 -05:00
Quincey Koziol
7a30de3a2b [svn-r4680] Purpose:
Code cleanup
Description:
    Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
    library.
Solution:
    Removed H5P(g|s)et_hyper_cache API functions, except when backward
    compatibility is turned on.  When backward compatibility is turned on,
    the property is defined by the library, but unused internally.
Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-06 14:05:12 -05:00
Quincey Koziol
b46e905594 [svn-r4673] Purpose:
Backward Compatibility Fix
Description:
    H5Pset_fapl_log's parameters have changed from a simple "verbosity" level
    to bit-masked flags to enable various behaviors.
Solution:
    Added in v1.4 compat stuff, on the unlikely chance that others are actually
    using this code in some production way.

    There are no C++ or FORTRAN wrappers for this call.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 12:33:31 -05:00
Quincey Koziol
4886a6c447 [svn-r4670] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development
    branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 11:42:40 -05:00
Quincey Koziol
a9c747deba [svn-r4669] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_cache's parameters changed between v1.4 and the development
    branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 11:12:32 -05:00
Quincey Koziol
e30b98d7fb [svn-r4665] Purpose:
Code cleanup
Description:
    Changed the logging file driver to use bitmasked flags for features to
    enable, instead of using a verbosity level.
Platforms tested:
    Solaris 2.6 (baldric)
2001-12-03 16:04:07 -05:00
Quincey Koziol
d456c2bb82 [svn-r4643] Purpose:
Code cleanup
Description:
    Windows is generating hundreds of warnings from some of the practices in
    the library.  Mostly, they are because size_t is 32-bit and hsize_t is
    64-bit on Windows and we were carelessly casting the larger values down to
    the smaller ones without checking for overflow.

    Also, some other small code cleanups,etc.

Solution:
    Re-worked some algorithms to eliminate the casts and also added more
    overflow checking for assignments and function parameters which needed
    casts.

    Kent did most of the work, I just went over his changes and fit them into
    the the library code a bit better.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:29:13 -05:00
Quincey Koziol
69575231ef [svn-r4614] Purpose:
Code cleanup
Description:
    Corrected header files needed.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-20 13:47:15 -05:00
Quincey Koziol
0001a13617 [svn-r4589] Purpose:
Code cleanup
Description:
    Clean up various compiler warnings from generic property updates.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-03 17:27:54 -05:00
Quincey Koziol
1a65aeeade [svn-r4587] Purpose:
Code speedups, etc.
Description:
    Add tests for new hyperslab API functions (currently ifdef'd out)
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-02 15:32:11 -05:00
Raymond Lu
e9d955be61 [svn-r4585]
Purpose:
    Switch from old property list to new generic property list.
Description:
    Switch API function for the new generic property list.
Platforms tested:
    IRIX64 6.5, FreeBSD, SunOS 5.7.
2001-11-02 14:47:41 -05:00
Raymond Lu
b6da4ea427 [svn-r4569]
Purpose:
    Generic Property List Change
Description:
    Changed file access list to the new generic list.
Platforms tested:
    IRIX64, SunOS5.7, FreeBSD
2001-10-24 13:02:27 -05:00
Quincey Koziol
aef98c3b6f [svn-r4568] Purpose:
Code cleanup
Description:
    I had moved an fclose() in my earlier fix and it could lead to a resource
    leak in certain error conditions.

    Also, prepared file for Albert to expand to test with files larger than
    2GB... :-)
Solution:
    Moved fclose() call back to original position.

    Put in type cast for FAMILY_SIZE macro.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-23 16:38:21 -05:00
Quincey Koziol
b8a536b20b [svn-r4564] Purpose:
Bug fix
Description:
    'big' test was not detecting that the AFS quota had been hit when running
    under FreeBSD.
Solution:
    Amending quota checking code to detect errors on file closes as well as
    opens, seeks and writes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-23 14:20:47 -05:00
Raymond Lu
a3dfc8e0c5 [svn-r4544]
Purpose:
    Changed the file creation property list to the new generic property list.
    Modified for new file creation property list.
Platform tested:
    IRIX64, SunOS5.7, FreeBSD
2001-10-15 14:38:51 -05:00
HDF Rational
7e811fe460 [svn-r4528] Purpose:
Code cleanup
Description:
    Purify detected an uninitialized memory read in test data.
Solution:
    Corrected parameters for initializing data array so entire array is
    initialized.
Platforms tested:
    Solaris 2.7 (arabica)
2001-10-05 17:30:27 -05:00
HDF Rational
d4df0d40dc [svn-r4527] Purpose:
Code cleanup
Description:
    Purify detected some resource leaks in the tests.
Solution:
    Released memory and property lists properly.
Platforms tested:
    Solaris 2.7 (arabica)
2001-10-05 17:29:20 -05:00
HDF Rational
4b3875ad58 [svn-r4526] Purpose:
Code cleanup
Description:
    Purify detected uninitialized memory being read.
Solution:
    Initialization array before writing to disk.
Platforms tested:
    Solaris 2.7 (arabica)
2001-10-05 17:27:58 -05:00
MuQun Yang
0ecc4709e9 [svn-r4524]
Purpose:
    refix tconfig.c
Description:
    Follow Robb's reminder, long_long is used to define __int64 in windows and long long for other platforms at H5private.h.
Solution:
     just change vrfy_ctype(long long....) into vrfy(long_long,.....) in the tconfig.c. Delete the previous
macro.
Platforms tested:
    windows 2000, linux
2001-10-05 13:39:36 -05:00
MuQun Yang
2f90a7ae41 [svn-r4522]
Purpose:
 bug fixed
Description:
    Windows doesn't recognize long long. Instead it uses __int64. So add a macro
like
#ifdef HAVE____int64 for windows-like platforms.
Solution:
 see above
Platforms tested:
eirene
2001-10-05 11:43:32 -05:00
Raymond Lu
e3a137f39e [svn-r4517]
Purpose:
    Changed to the new generic property list for dataset creation property
    list.
Platforms tested:
    Arabica, modi4 and Hawkwind
2001-10-03 12:57:56 -05:00
Quincey Koziol
bac55034d8 [svn-r4509] Purpose:
Test bug fix.
Description:
    When reading or writing to chunked datasets and the data needed datatype
    conversion, and the amount of data was more than one conversion buffer,
    data in the conversion buffer was getting corrupted.
Solution:
    Corrected error in advancing buffer pointer where it was being advanced
    by the number of elements instead of the number of bytes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-02 11:58:16 -05:00
Quincey Koziol
7a96b1a0d2 [svn-r4482] Purpose:
Kludge
Description:
    Since we're only about halfway through converting the internal use of
    property lists from the "old way" to the generic property lists, we turned
    off snapshots to avoid exposing lots of API changes to users, until the
    APIs settled down.

    Getting the snapshots rolling again seems to have become a priority, so
    some changes are going to have to be made now that were going to be
    postponed until we were completely finished with the conversion.  This
    requires that the old API functions be able to deal with both the old
    and new property lists smoothly.

Solution:
    Kludge together the property list code so that they can transparently handle
    dealing with both the old and new property lists

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-26 15:29:35 -05:00
Albert Cheng
2612814874 [svn-r4474] Purpose:
New feature.
Description:
    Added a test to verify the correctness of information provided by
    configure in H5config.h.  Some information, such as SIZEOF some
    types can be hardcoded by config/<machine>.  This test verified
    the information is indeed correct.
    Currenly, only size of C language types are verified.
Platforms tested:
    Eirene, regular, arabica.
2001-09-26 00:37:15 -05:00
Quincey Koziol
ed663577a5 [svn-r4473] Purpose:
Code cleanup for better compatibility with C++ compilers
Description:
    C++ compilers are choking on our C code, for various reasons:
        we used our UNUSED macro incorrectly when referring to pointer types
        we used various C++ keywords as variables, etc.
        we incremented enum's with the ++ operator.
Solution:
    Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
        template)

    Fixed usage of UNUSED macro from this:
        char UNUSED *c
    to this:
        char * UNUSED c

    Switched the enums from x++ to x=x+1
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-25 12:46:32 -05:00
Bill Wendling
09f30c6f45 [svn-r4464]
Purpose:
    Bug Fix
Description:
    The error codes checked for were hardcoded into the program.
Solution:
    Used the "enum" names instead.
Platforms tested:
    Linux
2001-09-18 15:12:37 -05:00
Bill Wendling
a34af05801 [svn-r4419]
Purpose:
    Bug Fix
Description:
    The table of error messages was updated in H5E.c. The change wasn't
    reflected in this test because, sadly, we use hardcoded numerical
    values for the "error" we want to check for and not the symbols.
Solution:
    Bumped up the error number from 32 to 34 to coincide with the error
    we expect.
Platforms tested:
    Linux
2001-09-04 12:37:10 -05:00
Albert Cheng
34b8cca115 [svn-r4364] Purpose:
cleanup
Description:
    chunk, iopipe, overhead have been moved to perform/.
Platforms tested:
    eirene(parallel).
2001-08-16 00:27:33 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Quincey Koziol
d24ae52673 [svn-r4326] Purpose:
Code cleanups, mostly..
Description:
    Work on pacifying the SGI compiler to get the generic properties working
    correctly with --enable-parallel and --enable-fortran.  It's not quite
    fixed yet, but I need to head home and these patches help... :-/
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 17:30:01 -05:00