1357 Commits

Author SHA1 Message Date
MuQun Yang
d9f4d7378c [svn-r5295]
Purpose:
    turn on daylight feature on windows
Description:
    currently we have to hard code daylight feature of windows to make it pass mtime test.
Solution:
Platforms tested:
linux 2.2.18
2002-04-30 13:25:44 -05:00
Quincey Koziol
fb6a11c014 [svn-r5289] Purpose:
Bug Fix

Description:
    Correct coordinates were not computed for iteration through irregular
    hyperslab selection (although the points in the buffer that were selected
    were correct).

Solution:
    Add another array to track selection offset adjusted coordinates in the
    selection.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-30 09:44:46 -05:00
Quincey Koziol
a88d81f4ba [svn-r5286] Purpose:
Bug Fix

Description:
    Selection offsets were not being used correctly when iterating through
    all hyperslabs selections and point selections.

Solution:
    Use the selection offset appropriately.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-29 15:27:31 -05:00
Albert Cheng
73683e4380 [svn-r5278] Purpose:
Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC
Description:
    configure generates many macros definitions on the fly and
    were stored in src/H5config.h which is included by H5public.h.
    But other software that uses hdf5 may also run their own configure.
    There can be a clash in macro name space.  We decided awhile ago
    to prepend all generated macros with "H5_" to avoid conflicts.
    The process has started and this commit completes it (at least attempt
    to).
Solution:
    Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to
    H5_SIZEOF_xxx and H5_HAVE_xxx).  Then H5private.h no longer includes
    H5config.h.  This cuts H5config.h away from HDF5 source code.
Pending issues:
    The module of fortran and pablo are to be resolved in a different
    commit.
Platforms tested:
    eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
2002-04-28 03:34:17 -05:00
HDF Admin
eb09629a45 [svn-r5275] Snapshot version 1.5 release 27 2002-04-27 04:30:52 -05:00
Raymond Lu
94f11385a6 [svn-r5273]
Purpose:
    New feature
Description:
    Allow H5Glink and H5Gmove to handle links across different locations.
Solution:
    Added H5Glink2 and H5Gmove2 functions with new parameter of destination
    location.
Platforms tested:
    Linux 2.2(eirene)
2002-04-26 15:34:46 -05:00
Quincey Koziol
124979bfc2 [svn-r5272] Purpose:
Bug fix

Description:
    Move iterator initialization in H5D_read & H5D_write before any errors can
    occur.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-26 10:44:08 -05:00
Quincey Koziol
80043b04c0 [svn-r5271] Purpose:
Bug Fix.

Description:
    When the fill value for a dataset is not set, the size is set to zero,
    causing problems with filling unused areas in previously defined chunks
    (i.e. when the dataset shrinks in size)

Solution:
    Use the size of the elements in the dataset directly, instead of relying on
    the size of the fill value (which must be the same size).

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-26 07:38:50 -05:00
Quincey Koziol
53d0c6b050 [svn-r5261] Purpose:
Code cleanup

Description:
    Remove more debugging printf's that were ifdef'd out.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-25 13:29:27 -05:00
Quincey Koziol
d33f7d93a3 [svn-r5259] Purpose:
Code cleanup

Description:
    Previously, the I/O pipeline (pline), external file list (efl) and fill-
    value (fill) structs were passed down the raw data function call chain,
    even into and/or through functions which didn't use them.  Since all three
    of these pieces of information are available from the dataset creation
    property list, just pass the dataset creation property list down the
    function call chain and query for the information needed in a particular
    function.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-25 12:56:56 -05:00
Albert Cheng
112fb8d45c [svn-r5257] Purpose:
Bug fix
Description:
    $(LT_RUN) was used to execute ./H5detect in src/Makefile.in.
    $RUNTEST was set to $(LT_RUN) which was used to execute sequential
    executable.  $(LT_RUN) is "../libtool --mode=execute".  But libtool
    invokes some commands that are not supported in the Tflops machine.
    That caused failures during the build and check processes.
Solution:
    Upon investigation, there does not seem to be need to use $(LT_RUN)
    any more.  The "libtool --mode=link" now generates a "fake" executable
    that is actually a command-script file that can regenerate the real
    executable with dynamic libraries hooks setup properly.
    Undo all those $LT_RUN substitute and let $RUNSERIAL execute those
    sequential executables.
Platforms tested:
    Eirene(serial), modi4(parallel)
2002-04-25 09:48:52 -05:00
Quincey Koziol
5c6f86d9aa [svn-r5255] Purpose:
Code cleanup

Description:
    Reduce gratuitous differences between H5D_write and H5D_read and also
    remove distracting debugging printf's that were ifdef'd out.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-25 08:52:03 -05:00
Quincey Koziol
58b570935b [svn-r5254] Purpose:
Code tweak.

Description:
    Allow the 'fill' parameter of H5S_select_fill to be NULL and allocate a
    temporary buffer for it, if so.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-25 08:15:22 -05:00
MuQun Yang
6030317e1e [svn-r5244]
Purpose:
     update macro HDstat
Description:
    The original defination of HDstat only defines HDstat as stat.
    the file size defined at struct stat is int32,
    However for files greater than 4G(or 2G)file, lookup of file size will
    fail on windows when using stat. Add a macro for windows,define HDstat
    as istat64.
    This fix is the same as HDfstat macro.
Solution:
Platforms tested:
linux 2.2.18
2002-04-24 09:52:36 -05:00
Quincey Koziol
f99a412057 [svn-r5230] Purpose:
Code cleanup

Description:
    Clean up the H5B_iterate code to not have a single hard-wired iterator for
    each interface which uses a B-tree, instead accept a function pointer which
    determines the callback function.  This allows additional iterator
    callbacks to be defined without requiring additional H5B functions to be
    created.

    In that spirit, remove the H5B_prune_by_extent call and convert the
    H5F_istore callback routine for it into a callback routine for H5B_iterate.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-23 11:01:43 -05:00
Quincey Koziol
e5fc40662c [svn-r5219] Purpose:
Code cleanup

Description:
    Clean up warnings from gcc 3.1

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-22 12:48:24 -05:00
HDF Admin
81912c99e7 [svn-r5213] Snapshot version 1.5 release 26 2002-04-20 04:43:19 -05:00
Albert Cheng
f5d5e9e2ff [svn-r5205] Purpose:
Code cleanup
Description:
    Platform dependent code related to the struct stat and fstat
    calls polluted source codes.  Hard to maintain.
Solution:
    Platform dependent code are moved to H5private.h and then internal
    code can #include H5private.h.  Repeat those macro definition for
    the stdio and multi drivers since they area examples for writing
    a virtual file driver.  They must not use any internal code.
Platforms tested:
    eirene (parallel), modi4 (serial including gass driver.)
2002-04-19 02:20:41 -05:00
Quincey Koziol
40117dd384 [svn-r5203] Purpose:
Code cleanup

Description:
    Re-indented new code to match coding style of rest of library.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-18 15:10:05 -05:00
Quincey Koziol
fa3c25fbf0 [svn-r5202] Purpose:
Code cleanup

Description:
    Update 'indent' flags for library to include some flags in later versions
    of GNU indent.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-18 15:08:24 -05:00
Quincey Koziol
ef9c40754b [svn-r5200] Purpose:
Code Cleanup

Description:
    Clean up compiler warnings from the last bunch of checkins

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-18 09:05:38 -05:00
HDF Admin
139af5a517 [svn-r5199] Snapshot version 1.5 release 25 2002-04-18 08:54:09 -05:00
Quincey Koziol
6a0ecf7366 [svn-r5198] Purpose:
Code Cleanup

Description:
    Remove "knowledge" about external file storage from H5D_init_storage and
    call H5F_seq_write instead, which handles things correctly.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-18 08:34:20 -05:00
Quincey Koziol
2694368b66 [svn-r5196] Purpose:
Code cleanup

Description:
    Fix incorrect include from <H5Sprivate.h> to "H5Sprivate.h"

Platforms tested:
    Just eyeballed it.
2002-04-17 14:02:12 -05:00
Quincey Koziol
4433c85766 [svn-r5195] Purpose:
Code cleanup

Description:
    Got rid of the "H5T_BKG_TEMP" setting that was used internally to the
    library, since temporary background buffers are now handled by the
    individual conversion routines instead of in a global background buffer.

    No APIs were changed or affected by this.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-17 13:49:49 -05:00
Quincey Koziol
a9cd833cc8 [svn-r5192] Purpose:
Code cleanup

Description:
    Move the H5T_bkg_t structure from H5Fpublic.h to H5Tpublic.h

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-17 12:03:19 -05:00
Quincey Koziol
fa314a767e [svn-r5191] Purpose:
Bug fix

Description:
    When several level deep nested compound & VL datatypes are used, the data
    in the nested compound datatypes is incorrectly sharing the same "background
    buffer", causing data corruption when the data is written to the file.

Solution:
    Allocate a separate background buffer for each level of the nested types
    to convert.  (Also allocate temporary background buffers for array
    datatypes, where this sort of problem could occur also)

    Added more regression tests to check for these errors.

Platforms tested:
    FreeBSD 4.5 (sleipnir) & Solaris 2.6 (baldric)
2002-04-17 11:47:47 -05:00
Raymond Lu
ce920c6c04 [svn-r5170]
Purpose:
    New feature
Description:
    Fill-value's behaviors for contiguous dataset have been redefined.
    Basicly, dataset won't allocate space until it's necessary.  Full details
    are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
Platforms tested:
    Linux 2.2.
2002-04-11 17:52:48 -05:00
Pedro Vicente Nunes
f368891ac8 [svn-r5168]
Purpose:
    H5Dset_extent API function
Description:

1 new public function: H5Dset_extent, that allows shrinking a dataset
several private functions that free the previously allocated chunks
H5F_istore_prune_by_extent, H5B_prune_by_extent : removes the chunks
H5F_istore_initialize_by_extent : initializes them with the fill value

H5S_select_fill is used to fill the selection in the memory buffer



Platforms tested:

    Windows 2000
    SUN( arabica)
    LINUX (eirene)
    IRIX64 (modi4)
2002-04-11 16:28:59 -05:00
Albert Cheng
670ae864af [svn-r5165] Purpose:
Feature
Description:
    Added comments that this is intended as an example of file driver.
    Added a macro detection at the end to flag if non-public definitions
    are used. (only check for H5private.h which is mostly likely used.
    Not bullet proof at all.)
Platforms tested:
    eirene.
2002-04-10 18:37:34 -05:00
Albert Cheng
da472d0c9b [svn-r5164] Just couple white space editing in HMPI_ERROR macros.
Nothing of consequence.
2002-04-10 17:54:11 -05:00
Pedro Vicente Nunes
41fda81044 [svn-r5153]
Purpose:

Modified all.zip file to include a windows project for set_extend
2002-04-09 11:06:15 -05:00
Quincey Koziol
1ffe083f61 [svn-r5152] Purpose:
New Feature

Description:
    Added new H5Dfill() routine to fill the elements in a selection for a
    memory buffer with a fill value.  This is a user API wrapper around some
    internal routines which were needed for the fill-value modifications
    from Raymond as well as Pedro's code for reducing the size of a chunked
    dataset.

Platforms tested:
    FreeBSD 4.5 (sleipnir) [and IRIX64 6.5 (modi4) in parallel, in a few
    minutes]
2002-04-09 07:47:34 -05:00
HDF Admin
8a086b1643 [svn-r5148] Snapshot version 1.5 release 24 2002-04-06 11:36:23 -05:00
Raymond Lu
242d36d263 [svn-r5147]
Purpose:
    New feature
Description:
    Added a query function H5Tget_member_index for compound and enumeration
    data types, to retrieve member's index by its name.
Platforms tested:
    Linux 2.2
2002-04-05 17:31:20 -05:00
Robb Matzke
2bd888792c [svn-r5142] ./hdf5-devel/src/H5Fistore.c
Minor h5ls bugfix for compound types with array members.
(Similar changes shortly for 1.4 branch).


2002-04-02 10:22:55 Robb Matzke  <matzke@arborea.spizella.com>
	* H5F_istore_read: Realigned a couple of comments.
2002-04-05 14:42:52 -05:00
Quincey Koziol
997e30d86a [svn-r5139] Purpose:
Code cleanup
Description:
    Clean up a few warnings on the SGI.
Platforms tested:
    IRIX64 6.5 (modi4)
2002-04-03 12:37:02 -05:00
Quincey Koziol
7ae00db7a4 [svn-r5138] Purpose:
Bug Fix & Code Cleanup

Description:
    The MPI-IO optimized transfer routines
    (H5S_mpio_spaces_read/H5S_mpio_space_write) are not being invoked in all
    the cases where they could be used.

    Additionally, the code for determining if an optimized transfer is wrapped
    into the actual I/O transfer routine in a very confusing way.

Solution:
    Re-enabled MPI-IO optimized transfer routines in all the cases where they
    should work.

    Extracted all the pre-conditions for optimized transfers into separate
    routines from the transfer routines.

Platforms tested:
    FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
2002-04-03 12:07:14 -05:00
Albert Cheng
ad641fa7b6 [svn-r5135] Purpose:
Features.
Description:
    Error stack used to report only hdf5 predefined error messages
    because it takes only static strings.  Runtime defined messages
    were not pushed to the stack.
    Added the means and macros to push MPI error strings onto the
    hdf5 error stack.  Added a new minor error class as H5E_MPIERR
    for this class of messages.
    H5Epulbic.h, H5E.c:
	Added H5E_MPIERR and its minor class description.
    H5Eprivate.h:
	Added HMPI_XXX macros to push MPI error strings to the stack.
    H5FDmpio.c:
	Changed couple places to use the new macros to test the new
	macros.  A more through changes to make use of these new
	macros will be done later.
Platforms tested:
    eirene (serial, parallel)
    modi4(parallel)
2002-04-02 23:44:26 -05:00
Quincey Koziol
c0ca09a899 [svn-r5134] Purpose:
Fix typo...
Description:
    Fix typo in last H5S_find() checkin...
Platforms tested:
    IRIX64 6.5 (modi4)
2002-04-02 22:17:23 -05:00
Bill Wendling
68556658db [svn-r5132] Purpose:
Autotools Update
Description:
	I've updated autoconf, automake, and libtool to the latest/greatest
	versions; 2.53, 1.6, and 1.4.2 resp.

	Many changes come with the new versions:

		- ltconfig is no longer used
		- acconfig.h is no longer used (#define values are declared with
		  the macro)
		- regeneration of all of the aclocal.m4, configure, and
		  H5config.h.in files.
		- new config.{guess,sub} files
		- new ltmain.sh file
Platforms tested:
	AIX (blue), and Linux
2002-04-02 17:08:23 -05:00
Quincey Koziol
8005e831a0 [svn-r5131] Purpose:
Code cleanup
Description:
    The function pointer for doing parallel I/O was being set in the H5D_read
    and H5D_write routines instead of in H5S_conv, where it belongs.
Solution:
    Added an extra 'flags' parameter to H5S_find to allow the function to
    determine when to set the MPIO functions instead of the regular optimized
    I/O routines and get rid of code messing with the function pointer in the
    H5D routines.
Platforms tested:
    IRIX64 6.5 (modi4)
2002-04-02 16:21:13 -05:00
Quincey Koziol
d2232a345f [svn-r5130] Purpose:
Bug Fix & Feature

Description:
    The selection offset was being ignored for optimized hyperslab selection
    I/O operations.

    Additionally, I've found that the restrictions on optimized selection
    I/O operations were too strict and found a way to allow more hyperslabs
    to use the optimized I/O routines.

Solution:
    Incorporate the selection offset into the selection location when performing
    optimized I/O operations.

    Allow optimized I/O on any single hyperslab selection and also allow
    hyperslab operations on chunked datasets.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-02 15:51:41 -05:00
Quincey Koziol
ebbabfd3ef [svn-r5126] Purpose:
Bug Fix (sorta)
Description:
    "small" contiguous hyperslabs were not being detected correctly by
    H5S_hyper_select_contigous() leading to poorer performance than possible.
Solution:
    Corrected check for small hyperslabs.  Also cleaned up the H5S_find() code.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-01 13:52:02 -05:00
Raymond Lu
1c1653aa40 [svn-r5123]
Purpose:
    Bug fix(#697)
Description:
    Variable-length string wasn't treated as string.
Solution:
    Added character set and padding into VL string type.
Platforms tested:
    FreeBSD
2002-03-29 18:46:56 -05:00
Robb Matzke
7fdd11e277 [svn-r5110] ./hdf5-devel/src/H5G.c
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.
2002-03-28 14:27:38 -05:00
Robb Matzke
cbc28bc32d [svn-r5109] ./hdf5-devel/src/H5Fistore.c
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.
2002-03-28 14:27:34 -05:00
Robb Matzke
fc87c2878c [svn-r5108] ./hdf5-devel/src/H5B.c
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.

2002-03-18 14:30:58 Robb Matzke  <matzke@arborea.spizella.com>
	* H5B_assert: Fixed typos in comments.
2002-03-28 14:27:30 -05:00
MuQun Yang
631b344df2 [svn-r5101]
Purpose:
    fix a windows bug
Description:
    1. To create a >4GB file, fstati64 has to be used instead of fstat.
    change fstat to fstati64 for WIN32 macroes. Some discussions are going on
    the general issue on how to better handle with WIN32 or other similar platform.
    This check-in is just a reminder not to forget the windows bug.
    2. erase a WIN32 macro(include winsock2.h) at h5detect.c. It is not a problem now.
Solution:
    use fstati64 instead of fstat for win32.
Platforms tested:
  windows2000(confirmed at linux machine eirene)
2002-03-27 15:47:24 -05:00
Quincey Koziol
7e9738f290 [svn-r5096] Purpose:
Bug Fix

Description:
    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:03 -05:00