summaryrefslogtreecommitdiffstats
path: root/src/H5.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r24285] Eliminate several "passing argument ... with different width ↵Larry Knox2013-10-101-1/+1
| | | | | | due to prototype" warnings by casting constants to size_t where expected by string functions. Tested on jam, koala,ostrich and platypus with h5committest.
* [svn-r23713] Description:Quincey Koziol2013-05-211-2/+2
| | | | | | | | | | Clean up warnings, switch library code to use Standard C/POSIX wrapper macros, remove internal calls to API routines, update checkapi and checkposix scripts. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN Big-Endian Linux/64 (ostrich)
* [svn-r23346] First commit for DESY project. It has the basic functionality ↵Raymond Lu2013-03-131-0/+1
| | | | | | of loading dynamically filter libraries and a simple test for it. Tested on koala.
* [svn-r23219] Description:Quincey Koziol2013-02-021-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring reviewed changes from Coverity branch back to trunk (QK & JK): r20457: Coverity issue 691: return of H5duo could be negative. Fixed by using STDOUT_FILENO and redesign parse_command_line and main to cleanup file allocations. The output_file var is null when using stdout. In cleanup do not close output_file if NULL. r20510: Initialize ufid = -1 and predicate HDclose call on ufid != -1 r20511: Purpose: Fix coverity issue 1715 Description: Free "file" and nested data on failure in H5FD_core_open. r20512: Initialize ifid = -1 and predicate HDclose call on ifid != -1 r20514: Initialize h5fid = -1 and predicate HDclose call on h5fid != -1 r20516: Added else branch to the if (ret_value < 0) check. r20522: Addressed coverity issues 930-933, 850, 836, 835, 1307. All minor potential buffer overwrite bugs, or coverity errors. Fixed by replacing strcpy and sprintf with strncpy and snprintf. r20523: fixed coverity issues 68, 1120, 1116i r20524: Check H5Z_SZIP->encoder_present < 1 assuming 0 represents absence. r20601: Purpose: Fix coverity issues 1703-1705 Description: Modified the cleanup code in test_free in accum.c to reset allocated buffers to NULL after they are freed, and modified the error cleanup code to check if these buffers are NULL before freeing them. Also fixed some unrelated warnings in accum.c. r20602: Use HDsnprintf and HDstrncat r20603: Purpose: Fix coverity issues 808-809 Description: Modified test_core in vfd.c to check the returns from malloc, and keep track of whether points and check are allocated by setting them to NULL when they are not. Added code to free points and check on error if they are not NULL. Also fixed unrelated warnings in vfd.c. r20604: Use HDstrncpy. r20605: Use HDstrncpy and HDstrncat. r20606: Purpose: Fix coverity issue 807 Description: Modified long_compact in stab.c to keep track of whether objname is allocated by setting it to NULL when it is not. Added code to free objname on error if it is not NULL. r20607: Changed string function calls to use versions that specify the string length to fix coverity issues 832 and 839. Tested on: Mac OSX/64 10.8.2 (amazon) (Too minor to require h5committest)
* [svn-r22324] Description:Quincey Koziol2012-04-291-1/+1
| | | | | | | | Change name of MPE log file produced from "cpilog" (which was the name used in the example code we were referencing) to "h5log". Tested on: None, too trivial, eyeballed only...
* [svn-r21919] Description:Quincey Koziol2012-02-091-8/+8
| | | | | | | | Refactor function name macros and simplify the FUNC_ENTER macros, to clear away the cruft and prepare for further cleanups. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r20536] Description:Quincey Koziol2011-04-171-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up various warnings & code formatting issues. Bring changes from Coverity branch to trunk: r20085: Purpose: Fix coverity issue 793 Description: Modified H5S_hyper_project_simple_higher() to free the entire span list in new_space on failure. r20091: This is a fix for coverity bug #1683. Changed the two printfs to use %lu (unsigned long) for printing "dset_size". r20162: Purpose: Fix coverity issue 785 Description: Modified H5T_enum_nameof() to free "name" on failure if it was allocated. Also clarified some code in H5S_hyper_rebuild_helper(). r20189: Addressed coverity defect 783. H5SL_new_node() in H5SL.c was failing to free space allocated in its first alloc if the second alloc failed. Added a call to H5FL_FREE to address this issue. This is purely to keep coverity happy -- if this code is ever triggered, we have much larger problems. Note that this fix will trigger an unused return value complaint from coverity next week. r20190: Fixed Coverity issues 1561 1565 and 1678 (UNUSED_VALUES) by moving checks of return values to after the function call. r20191: Fixed coverity issues 643 644 and 1678 (CHECKED_RETURN). r20232: Addressed coverity issues 923-925. Replaced calls to sprintf with calls to HDsnprintf. r20233: Fix coverity issue 662. Don't try to sort 0 attributes in H5Aint.c. r20234: Fix coverity issue 664. Check for NULL before dereferencing in H5Gdeprec.c. r20271: Purpose: Fix coverity issue 784 Description: Modified H5_debug_mask() to keep a list of files opened for use as a debugging output stream, and modified H5_term_library to close these files on exit. r20272: addressed coverity issues 838 & 955. Issue was use of strcpy() -- existing code was safe, but modified to use strncpy() to keep coverity happy. r20273: Addresed coverity issues 1388 and 1389. Initialized sel_iter->type to NULL in H5S_select_iter_init. r20275: Purpose: Fix valgrind issue in mf.c Description: Fixed bug (incomplete if statement) in test_mf_fs_alloc_free() so the retrieved node gets freed. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
* [svn-r19481] I'm backing out my fix for bug 1707 because there're some ↵Raymond Lu2010-09-271-6/+3
| | | | | | | | | | | unresolved issues - r19441 and 19467. Bug 1707 is that H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API with the 1.8 library to compile. I created a branch off the trunk called set_auto to continue working on the problem. Tested on jam - backing out, simple.
* [svn-r19457] Bug fix for 1707 - H5Eset_auto causes a seg fault when an ↵Raymond Lu2010-09-211-3/+6
| | | | | | | | | | | | | application uses -DH5_USE_16_API with the 1.8 library to compile. The cause is from the mismatch of H5Eprint1 and H5Eprint2 set through H5Eset_auto. I changed the union in the structure H5E_auto_t. Another change is to make H5Eget_auto fail if H5Eset_auto is called to set the printing function. I'll write a document for it. Tested on heiwa, jam, and amani. The property change in configure.in, config, and Makefile.am came from the merge of the 1.8 library change.
* [svn-r18492] Bug fix:Albert Cheng2010-04-011-2/+0
| | | | | | | | | | | | | | | | | Testlibinfo.sh failed again. Solution: Removed the const from H5libhdf5_settings definition, again. Revamp the whole setting so that H5lib_settings.c is compiled individually, just like H5Tinit.c. Hope this will take care of the problem once for all. Tested: Jam using --disable-shared with --enable and --disable-embedded-libinfo. Will test this on the AIX platform after commit (cannot run bin/reconfigure in the AIX platform and it is too clumsy to try to ssh files back and forth and incurred "svn merge inconsistency" later too. Pretty confident this fix should work in all other platforms.
* [svn-r18475] Description:Quincey Koziol2010-04-011-0/+1
| | | | | | | | | | | | | | | | | | Fix dependency issue and non-C99 coding goof. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r18474] Description:Quincey Koziol2010-03-311-1/+1
| | | | | | | | | Switch back to generating a .h file for the library settings. Also, tart it up a bit to avoid multiple inclusions, etc. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug & production FreeBSD/32 6.3 (duty)
* [svn-r18469] bug fix:Albert Cheng2010-03-301-1/+1
| | | | | | | | | | | | | | recent changes to the embedded library generation code does not quite work for the AIX system. The strings command of AIX does not display the embedded library information be default. Solution: Changed the H5libhhdf5_setting[] to be an extern variable. Also removed the const qualifier so that strings can see the variable data. Tested: Blue-print (with embedded-libinfo enabled and disabled). Also tested in Jam.
* [svn-r18415] Description:Quincey Koziol2010-03-181-0/+2
| | | | | | | | | | Move the libhdf5.settings information out of src/H5Tinit.c and into a separate header file (src/H5lib_settings.h), which is generated at build time (not configure time) with the src/H5make_libsettings generator program. Tested on: Linux/32 2.6 (jam) Mac OS X/32 10.6.2 (amazon)
* [svn-r17895] Description:Quincey Koziol2009-11-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | Correct & simplify client callback context for extensible and fixed array data structures. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17838] Description:Quincey Koziol2009-11-051-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Further refactoring of v2 B-tree code, moving toward being able to pass a context information to a client's encode/decode callbacks. Also, clean up of other minor compiler warnings and code formatting issues. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.1 (amazon) in debug mode Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17543] Bug fix (ID 1656):Albert Cheng2009-09-291-8/+8
| | | | | | | | | Changed H5check_version() to suppress the warning message totally if $HDF5_DISABLE_VERSION_CHECK is 2 or higher. (Old behavior treated 3 or higher the same as 1, that is to print a warning and allows the program to continue. Tested: h5committested, extra jam serial, --disable-embedded-libinfo.
* [svn-r17502] Purpose:Albert Cheng2009-09-211-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stage 2 implementation of embedded library information feature. H5.c: added code to print the embedded library information when there is a library versions mis-match occurs. This ensures the library information string is included in the executable. Also modifies the code so that the Library mismatch warning string is included only once in the executable. H5private.h: Added a global reference to the libinfo string variable to prepare for possible stage 3 implementation of a public API. test/testlibinfo.sh.in: A new test added to verify the library information is indeed included in the executables. configure.in: configure: Added entry to auto-generate test/testlibinfo.sh. H5detect.c: Modified the libhdf5settings generating code to allow it to insert the strings to a file other than stdout. This maybe needed in stage 3 implementation. MANIFEST: updated with the newly added file of testlibinfo.sh.in. Tested: h5committest passed. Additional tests: jam serial; jam --disable-embedded-libinfo; jam --disable-shared. All passed.
* [svn-r16702] Purpose: Improve performance of factory free lists.Neil Fortner2009-04-081-2/+8
| | | | | | | | | | | Description: Factory free lists were formerly implemented as block free lists. This was inefficient as factories can only be one size, and implementing them as blocks (which can be variable size) wastedd computation and space. They have been rewritten with a separate implementation, which is simlar to regular free lists except they can be dynamically created and destroyed. Tested: jam, linew, smirom (h5committest)
* [svn-r16698] Purpose: Fix bug 503Neil Fortner2009-04-081-0/+4
| | | | | | | | | Description: Changed Skip list package to use a deterministic skip list. This allows the skip list package to avoid calling rand() and srand(), even on machines without rand_r(). There is no longer a p-value or maximum level for skip lists. Tested: jam, smirom, linew (h5committest)
* [svn-r16321] Purpose:Albert Cheng2009-01-141-0/+2
| | | | | | | | | | | Improvement Description: Modified the warning messages from the Version mismatch checking to suggest the users to try recompiling or checking the shared lib setting. Platforms tested: Tested in Jam only since it was just a simple text string changes.
* [svn-r15211] Description:Quincey Koziol2008-06-131-7/+7
| | | | | | | | | | | | | | | | | | | | Update the gcc flags for version 4.3 Clean up warnings Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.3 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r13648] Description:Quincey Koziol2007-04-121-27/+27
| | | | | | | | | | Rename new error handling API routines from H5E<foo>_stack() to H5E<foo>2(). Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | 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.
* [svn-r13068] Ran bin/reconfigure. Some of the scripts have been changed or ↵James Laird2006-12-181-4/+4
| | | | | | | | | haven't been run in a while, so many of the source files were updated with tracing macros, etc. No code changes by me. Tested on kagiso and smirom.
* [svn-r12868] Description:Quincey Koziol2006-11-061-4/+4
| | | | | | | | Make API routines that don't initialize the library more consistent, to help with future internal library changes. Tested on: Linux/64 2.6 (chicago2)
* [svn-r12866] Description:Quincey Koziol2006-11-061-5/+3
| | | | | | | Clean up initialization of H5F & H5L APIs. Tested on: Linux/64 2.6 (chicago2)
* [svn-r12842] Description:Quincey Koziol2006-11-021-10/+10
| | | | | | | | | | | | | | | | Refactor generic property list initialization code to put property list specific routines in property list modules, instead of scattered to the four winds. Also, introduce property list class initialization objects, to make adding new property list classes in the library easier. Fix daily test failure by using H5Pget_elink_prefix() API routine instead of looking at the "raw" generic property list information. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/C++ & FORTRAN Linux/64 2.4 (mir) w/build-all & 1.6 compat
* [svn-r12680] Description:Quincey Koziol2006-09-251-1/+1
| | | | | | | | | Review, revise & checkin in Peter's latest round of object copy changes, which add basic support for datasets & attributes with reference datatypes. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12605] Description:Quincey Koziol2006-08-211-2482/+41
| | | | | | | | | | | | | Break out a bunch of the misc. routines that were in src/H5.c into more specific modules. Add optimized fletcher32 checksum routine, for checksumming metadata as well as raw data. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Will test further after checkin...
* [svn-r12600] Description:Quincey Koziol2006-08-211-31/+31
| | | | | | | | | | | Clean up code a bit by reformatting and using portable macros for direct C library calls. Tested On: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12587] Description:Quincey Koziol2006-08-171-0/+1
| | | | | | | | | Call the H5L API's termination routine when the library is terminating. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12528] Added User-Defined links to the library.James Laird2006-08-021-2/+9
| | | | | | | | | | | | | | Users can create external links using H5L_create_external(). These links point to an object in another HDF5 file. Users can alter the behavior of external links or create new kinds of links by registering callbacks using the H5L interface. Added tests, tools support, etc. Also a number of other, minor changes have been made (some restructuring of the H5L interface, for instance). Additional documentation and examples are forthcoming.
* [svn-r12525] Description:Quincey Koziol2006-08-021-1/+0
| | | | | | | | | | | Refactored free space manager to use metadata cache for serialized free space sections. This speeds up the fractal heap test considerably... Tested: FreeBSD 4.11 (sleipnir) Linux 2.4/32 (chicago) Linux 2.4/64 (mir) Mac OS X (amazon)
* [svn-r12452] Purpose:James Laird2006-07-051-8/+8
| | | | | | | | | | | | | | | | | | | | | | Feature Description: Revised Link APIs. Solution: New link APIs use H5L* H5*create_expand do not create links to the objects created; this must be done manually with H5Llink. Added APIs to link an object given its ID (H5Llink), to copy links (H5Lcopy), and changed creation APIs (H5Lcreate_hard and H5Lcreate_soft) and query API (H5Lget_linkinfo instead of H5Gget_objinfo). All old APIs are still supported in H5Gdeprec.c . Platforms tested: sol, mir, copper Misc. update: Forgot to update MANIFEST and release docs. Will do after checkin.
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-3/+3
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12423] Purpose:Quincey Koziol2006-06-191-0/+9
| | | | | | | | | | | | New feature Description: Add '%t' format for HDfprintf() to print htri_t (and hbool_t) values. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (chicago) h5committest
* [svn-r12349] Purpose:Quincey Koziol2006-05-151-0/+1
| | | | | | | | | | | | | | | Code checkpoint Description: Checkpoint fractal heap improvements, as well as move the free space manager code that it's using into a separate package. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4/64 (mir) w/C++ & FORTRAN Linux 2.4/32 (heping) Solaris 2.9 (shanti) AIX 5.? (copper) w/FORTRAN & parallel
* [svn-r12345] Purpose: Codes for backward compatibility.Raymond Lu2006-05-121-1/+1
| | | | | | | | | | Description: Function prototype H5E_walk_t and structure H5E_error_t wasn't backward compatible. Solution: Make them compatible with v1.6 and provide new definitions of H5E_walk_stack_t and H5E_error_stack_t. Platforms tested: fuss and h5committest.
* [svn-r12261] Purpose:Albert Cheng2006-04-161-15/+16
| | | | | | | | | | | | Improvement Description: Modified the warning messages from the Version mismatch checking to suggest the users to try recompiling or checking the shared lib setting. Platforms tested: Tested in heping only since it was just a simple text string changes. (I did moved the strings around a bit.)
* [svn-r12218] Purpose:Quincey Koziol2006-04-101-3/+0
| | | | | | | | | | | | | Code cleanup Description: Remove remnents of references to unimplemented H5S_COMPLEX dataspace. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 32-bit (heping) Linux 2.4 64-bit (mir) Solaris 2.9 (shanti)
* [svn-r12138] Purpose: VMS portElena Pourmal2006-03-221-0/+36
| | | | | | | | | | | | | | Description: Unix remove function removes only the latest version of a file on VMS. Some of our tests create multiple versions of the testfiles and as a result, test programs may be confused, give false negative result, etc. Solution: Created HDremove_all function for VMS that removes all versions of the files. HDremove on VMS is an alias to HDremove_all. Platforms tested: VMS server and heping (to check that nothing is borken on UNIX side) Misc. update:
* [svn-r12110] Purpose:Leon Arber2006-03-161-15/+6
| | | | | | | | | | | | | | | | | | Optimization Description: Get rid of unnecessary function call for systems that don't have rand_r. Solution: If rand_r isn't present on a system, then macros can be used to simply call the underlying random function instead of calling the HDrand/HDsrand functions that keep track of the random seed within the library. Platforms tested: heping (minor change) Misc. update:
* [svn-r12021] Purpose:Leon Arber2006-03-071-2/+2
| | | | | | | | | | | | | | | Bug fix. Description: Fix typo. srand/srandom don't return anything, so don't attempt to return their value. Solution: Platforms tested: heping Misc. update:
* [svn-r12019] Purpose:Leon Arber2006-03-071-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix/Feature Description: Modify the library to use rand_r, when available, instead of srand. If rand_r is not available, it will try to use srandom/random, and then finally fall back to srand/rand. Solution: A couple places in the library use the srand() function to seed the random number generator. This can cause problems on certain platforms and could theoretically cause problems for users who expect a certain sequence of random numbers following their own call to srand(). Most platforms have an implementation of rand_r, which is identical to rand, except that it allows for explicit storage of the seed value. The configure script will now check for the existence of rand_r to facilitate its use in the library. Two new functions are added, to replace the macros HDsrand/HDrand. These functions are HDrand and HDsrand. HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither of those is available. HDsrand will store the seed value locally, if rand_r is available. Otherwise, it will call srandom if available, and fall back to srand otherwise. Platforms tested: heping, mir. Really need to test on Red Storm, since that platform motivated this fix, but the machine is currently not available. Misc. update:
* [svn-r11991] Purpose:Albert Cheng2006-03-011-15/+0
| | | | | | | | | | | | | | | | | Porting. Description: Red Storm's lustre used srand and rand to initialize their user mode of lustre. HDF5 also uses srand and that messes up Lustre. Solution: Use -DRED_STORM to block out the HDF5 code that calls srand. This is a temporary fix since Lustre has fixed its code from calling srand and rand but the fix is not deployed at Red_storm yet. Platforms tested: Tested at Red-Storm.
* [svn-r11785] Purpose:Albert Cheng2005-12-111-0/+15
| | | | | | | | | | | | Patch for red-storm. Description: A temporary patch for redstorm, must open a file in the same parallel data filesystem before H5_init_library. Otherwise, it hangs with error: (client.c:568:ptlrpc_check_status()) @@@ type == PTL_RPC_MSG_ERR, err == -114 req@0x57a9660 x1/t0 o38->mds_l2@MDS_PEER_UUID:12 lens 240/272 ref 1 fl Rpc:R/100000/0 rc 0/-114 Platforms tested: Red-storm.
* [svn-r11758] Purpose:Quincey Koziol2005-12-041-3/+0
| | | | | | | | | | | | | New feature Description: Add in a combination of Peter's & my code to support copying variable-length data from one file to another, although currently only supported with contiguous data storage. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11738] Purpose:James Laird2005-11-181-0/+25
| | | | | | | | | | | | | | | | | | | Configure feature Description: Added 'make trace' target. Solution: Added tracing to 1.7. This was done automatically in 1.6, but left out of 1.7 until now (oops!). Tracing in 1.7 only happens manually, when the user types 'make trace.' Tracing automatically requires more framework than it's worth. I also fixed a couple of tracing bugs and ran trace. Platforms tested: mir, sleipnir, modi4 Misc. update:
* [svn-r11735] Purpose:Albert Cheng2005-11-161-101/+0
| | | | | | | | | | | | | | | | | | Cleanup. Description: Removed the home-made version of snprintf and vsnprintf since they do not actually enforce the size parameter correctly and could corrupt memory or as a security hole. This block of code has been turned off since Aug 11, 2005 for all platforms except Tflops. No one has reported any problem since--sort of empirical evidence that all platforms except Tflops support both functions. Tflops has retired in September. So, no need to keep this block of code. Also, fixed the HDxxx macro to call the corresponding xxx function. Platforms tested: Tested in heping, both serial and parallel.