summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r11758] Purpose:Quincey Koziol2005-12-041-1/+1
| | | | | | | | | | | | | 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-r11735] Purpose:Albert Cheng2005-11-161-17/+2
| | | | | | | | | | | | | | | | | | 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.
* [svn-r11733] Purpose:Quincey Koziol2005-11-161-1/+23
| | | | | | | | | | | | | | | | | | Code cleanup Description: Added some comments about the thread-specific memory for the error and function stacks. Changed H5close() to not use the function stack (since it causes it to be re-enabled after shutting it down) Changed thread-safe semaphore code to not use dynamicly allocated memory. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Too minor to require h5committest
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11598] Purpose:Quincey Koziol2005-10-221-3/+5
| | | | | | | | | | | | Code cleanup Description: Take out odd definition of HDalarm() and replace with standard macro like the rest of the library. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11480] Purpose:Fang Guo2005-09-291-2/+2
| | | | | | | | | | | Maintenance on Windows Description: No alarm function on Windows, opt out Solution: Platforms tested: MSVS 6.0 on Windows XP Misc. update:
* [svn-r11289] Purpose:Albert Cheng2005-08-221-0/+3
| | | | | | | | | | | | | | cleanup Description: Changed the conditional definitions of HDvsnrintf and HDsnprint be dependent on TFLOPS being defined so that these are consistent with the condition in H5.c in which the two functions are coded. Platforms tested: heping. Misc. update:
* [svn-r11288] Purpose:Fang Guo2005-08-221-9/+8
| | | | | | | | | | | | Maintenance on Windows Description: Move Win32 Macros(snprintf and vsnprintf) to the right places Solution: Platforms tested: MSVS 6.0 on Windows XP heping Misc. update:
* [svn-r11251] Purpose:Fang Guo2005-08-161-0/+10
| | | | | | | | | | | | | | Maintenance on windows Description: Add two macros for windows, susbstitue functions HDsnprintf and HDvsnprintf with _snprintf and _vsnprintf when using Visual C++ on windows Solution: Platforms tested: MSVC 6.0 on Windows XP heping Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-17/+17
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11144] Purpose:Quincey Koziol2005-07-231-0/+2
| | | | | | | | | | | New port Description: Elena asked me to check in her NEC SX-6 work, so here it is! :-) Platforms tested: FreeBSD 4.11 (sleipnir) NEC SX-6 (by Elena)
* [svn-r10730] Purpose:James Laird2005-05-051-6/+6
| | | | | | | | | | | | | | | | Portability feature Description: The random() and srandom() functions are not available on all machines. Set up the configure script to automatically detect them, rather than requiring their presence or absence to be hardcoded. Solution: Added AC_CHECK_FUNCS macro to configure.in and replaced #ifdef WIN32 conditionals with #ifdef H5_HAVE_RANDOM conditionals. Platforms tested: sleipnir, Windows
* [svn-r10716] Purpose:Quincey Koziol2005-05-021-4/+57
| | | | | | | | | | | | Code cleanup Description: Migrate MPE macros to H5private.h, in preparation for using the H5MPprivate.h file for "memory pool" API. Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r10701] James Laird2005-04-291-18/+0
| | | | | | | | | | | | | | | | | Purpose: Bug fix Description: Some platforms (Windows) don't have the long long type, which causes automatic Fortran type matching to fail. A solution is to use HDF5's long_long type. Solution: Changed H5match_types.c to use long_long type. Moved definition of long_long out of H5private.h and into H5public.h. Platforms tested: mir, copper, pommier
* [svn-r9861] Purpose:Quincey Koziol2005-01-241-0/+1
| | | | | | | | | | | | | | | | | | | | Bug fix Description: Add detect vasprintf() routine and use it instead of vsnprintf() when formatting error descriptions if it's available. Added configure test to detect "broken" vsnprintf() implementations which don't return the correct number of character for strings that are too long to fit into the buffer provided (currently a problem on the SGIs and probably the HP). Re-wrote error formatting code in H5Epush_stack() to handle broken vsnprintf() implementations, etc. Platforms tested: IRIX64 6.5 (modi4) h5committest
* [svn-r9858] Purpose:Quincey Koziol2005-01-221-3/+1
| | | | | | | | | | Code cleanup Description: Clean up a few rements from the Pablo removal Platforms tested: None, very minor
* [svn-r9857] Purpose: MaintenanceElena Pourmal2005-01-221-30/+1
| | | | | | | | | | | | | | Description: Removed PABLO from the source Solution: Platforms tested: arabica with 64-bit, copper with parallel, heping with GNU C and C++ and PGI fortran (but I disabled hl, there is some weird problem only on heping: F9XMODFLAG is not propagated to the Makefile files Misc. update:
* [svn-r9805] Purpose:Quincey Koziol2005-01-111-4/+0
| | | | | | | | | | Code cleanup Description: Remove obsolete support for Watcom C compiler. Platforms tested: None - too minor to require any.
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9654] Purpose:Raymond Lu2004-12-101-1/+4
| | | | | | | | | | | | | Description: In file H5FDsec2.c and H5FDlog.c, there's statements like H5_ASSIGN_OVERFLOW(file->eof,sb.st_size,off_t,haddr_t); It assumes sb.st_size from h5_stat_t is of type off_t. But on Windows, it has type __int64. So the H5_ASSIGN_OVERFLOW statement may cause problem. Instead of trying to do switch between Windows and other systems in H5FDsec2.c and H5FDlog.c, define a substituting type in H5private.h to fix the problem. On Windows, this type is __int64; on other systems, it is off_t. Platforms tested: fuss. Simple fix. Already did h5committest for v1.6.
* [svn-r9474] Purpose:MuQun Yang2004-10-271-0/+4
| | | | | | | | | | | | | | | | | Updating H5api_adpt.h to help the implementation of Fortran DLL on windows. Description: 1. More functions need to be added prefix macro for exporting and importing fortran DLL on Windows. 2. unlink was _unlink on windows and use HDunlink to specify this. Solution: Platforms tested: linux 2.4(h5committest not finished yet, but should work since the change is minor and it is passed with pgi compiler) Misc. update:
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-011-1/+1
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r9154] Elena Pourmal2004-08-251-0/+2
| | | | | | | | | | | | Purpose: Maintenance/bug fixes (OSF1 C++ and missing Fortran APIs) Description: bringing 1.6 changes to 1.7 Solution: Platforms tested: OSF1, Solaris 2.8, AIX5.1 Misc. update:
* [svn-r9037] Purpose:Quincey Koziol2004-08-061-1/+1
| | | | | | | | | | | | Code cleanup/bug fix Description: Check for _O_BINARY being defined instead of O_BINARY, since we actually use _O_BINARY. (Note that this only affects Windows) Platforms tested: FreeBSD 4.10 (sleipnir) Not tested w/h5committest
* [svn-r8731] Purpose:Quincey Koziol2004-06-231-71/+43
| | | | | | | | | | | | | | | Code cleanup & minor optimization Description: Re-work the way interface initialization routines are specified in the library to avoid the overhead of checking for them in routines where there is no interface initialization routine. This cleans up warnings with gcc 3.4, reduces the library binary size a bit (about 2-3%) and should speedup the library's execution slightly. Platforms tested: FreeBSD 4.10 (sleipnir) w/gcc34 h5committest
* [svn-r8370] Purpose:Albert Cheng2004-04-171-0/+3
| | | | | | | | | | | | | | Bug fix. Description: Not all machines (like Sun and AIX) support fabsl() and fabsf() used in test/dtypes.c. Changed the coding to use macro names HDfabsl and HDfabsf. Also set the two macros to use ABS for now so that they will work for all machines. (need more portable fixes which would involve configure.) Platforms tested: h5committested. (also tested in LANL QSC and Theta).
* [svn-r8287] Purpose:Quincey Koziol2004-03-301-0/+12
| | | | | | | | | | | | | | Bug fix/code cleanup Description: Copy Robb's feature in SSlib that checks that the name of the function used in the FUNC_ENTER macro is actually the name of function. Fixed a bunch of typos & copy-n-pasto's for functions with incorrect names. Platforms tested: FreeBSD 4.9 (sleipnir) w/parallel too minor to require h5committest
* [svn-r8038] Purpose:Quincey Koziol2004-01-081-1/+6
| | | | | | | | | | | | | | | | | | | | Bug fix Description: When two property lists are compared, the H5Pequal routine was just comparing the raw information for the property values. This causes problems when the raw information contains pointers to other information. Solution: Allow a 'compare' callback to be registered for properties, so that a user application get perform the comparison itself, allowing for "deep" compares of the property value. This was exported to the H5Pregister & H5Pinsert routines in the development branch, but not the release branch. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r8009] Purpose:Quincey Koziol2003-12-311-0/+11
| | | | | | | | | | | | | | | | | Bug fix Description: Add special-case handling to floating-point conversion tests to avoid problems with denormalized values on Cray T3E & T90 platforms. (Still not working on Cray SV1, but at least it's closer). Solution: Detect denormalized values and don't try to operate on them on the Crays. Platforms tested: FreeBSD 4.9 (sleipnir) Cray T3E (hubble.cray.com) Cray T90 (gypsy.cray.com)
* [svn-r7917] Purpose:Quincey Koziol2003-12-061-36/+50
| | | | | | | | | | | | | | | | | | | Code cleanup Description: Clean up compiler warnings, especially the 'FUNC' variable not used which comes out in production mode. Solution: Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API functions which don't need the 'FUNC' variable defined. (This will be _so_ much easier when C99 is standard on all our supposed platforms, since it has a __FUNC__ macro... ) Platforms tested: FreeBSD 4.9 (sleipnir) too minor for h5committest (although there were lots of files changed, the change was minor in each one)
* [svn-r7872] Purpose:Quincey Koziol2003-11-211-0/+1
| | | | | | | | | | | New macro Description: Introduce LLONG_MIN macro to match LLONG_MAX macro Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7827] Purpose:Quincey Koziol2003-11-081-6/+6
| | | | | | | | | | | | Bug fix Description: Make --disable-hsizet work properly again by fixing a couple of tests and correcting the definition of SSIZET_MAX. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest not used, as it doesn't test this configuration.
* [svn-r7669] Purpose:Quincey Koziol2003-10-201-1/+2
| | | | | | | | | | | | | | | Refactor code Description: Use "template macro" technique to eliminate a huge amount of repeated code in type initialization code (almost 1000 lines, between this change and the changes to the H5Tconv.c file earlier). This centralizes the common parts of the code and makes the different parts of the code more obvious. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7662] Purpose:Quincey Koziol2003-10-181-0/+3
| | | | | | | | | | | | | | | | | Refactor integer conversion macros Description: Turned integer conversion macros "inside" out, using an interlocking macro technique similar to templates in C++. The macro which actually performs the conversion is now invoked "genericly" from inside another macro, which will allow the inner conversion loop to be optimized in a much easier way. This "psuedo-template" technique could be useful for other semi-repetitious patterns in the library - possibly the datatype initialization code... Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r7411] Purpose:Quincey Koziol2003-08-261-0/+4
| | | | | | | | | | | Code cleanup Description: De-linted more modules Platforms tested: FreeBSD 4.8 (sleipnir) w/ & w/o stream enabled too minor to require h5committest
* [svn-r7297] Purpose:Quincey Koziol2003-08-081-1/+1
| | | | | | | | | | | | | | | | Code cleanup Description: Changed lines like: H5E_clear(H5E_get_my_stack()); to: H5E_clear(NULL); which performs the same operation. Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-1/+1
|
* [svn-r7256] Purpose: gradual checkin for error apiRaymond Lu2003-07-231-0/+1
| | | | Platforms tested: RH 8(simple checkin)
* [svn-r7232] Purpose:Quincey Koziol2003-07-161-1/+11
| | | | | | | | | | | | | | | | | | | | Bug fix Description: When a non-default indexed storage B-tree internal 'K' value is set by the user, the chunked datasets created in that file (until it is closed) use the user's 'K' value and the data can be accessed correctly, but the 'K' value is not stored in the file. However, once the file is closed and re-opened, the non-default 'K' value is lost and the data in the chunked datasets will not be able to be accessed correctly. Solution: Store the indexed storage B-tree internal 'K' value in the superblock. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7203] Purpose:Quincey Koziol2003-07-101-6/+6
| | | | | | | | | | | | Code cleanup Description: Change names of macro parameters to H5_ASSIGN_OVERFLOW to make them easier to understand. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7186] Purpose:Quincey Koziol2003-07-091-1/+1
| | | | | | | | | | | Code cleanup Description: More tweaks to clean up warnings from lint. Platforms tested: FreeBSD 4.8 (sleipnir) not major enough to h5committest
* [svn-r7184] Purpose:Quincey Koziol2003-07-081-3/+3
| | | | | | | | | | | Code cleanup Description: Clean up various warnings from lint Platforms tested: FreeBSD 4.8 (sleipnir) no major changes requiring h5committest
* [svn-r7027] Purpose:Quincey Koziol2003-06-121-4/+4
| | | | | | | | | | | | Bug fix Description: MPE instrumentation was out of date and wasn't reporting the correct name of the API functions in the library. Platforms tested: IBM p690 (copper) h5committest not performed because it doesn't test MPE.
* [svn-r6970] Purpose:Quincey Koziol2003-06-051-8/+1
| | | | | | | | | | | | Twist code Description: Try to find a happy definition of HSSIZET_MAX, HSSIZET_MIN and HSIZET_MAX for all platforms. Platforms tested: FreeBSD 4.8 (sleipnir) h5committested
* [svn-r6963] Purpose:Quincey Koziol2003-06-041-2/+9
| | | | | | | | | | Code cleanup Description: Fix HSIZET_MAX, HSSIZET_MAX and HSSIZET_MIN to work with Windows (hopefully) Platforms tested: h5committested
* [svn-r6955] Purpose:Quincey Koziol2003-06-041-2/+8
| | | | | | | | | | | | Code cleanup Description: Tweak HSIZET_MAX macro and add HSSIZE_MAX and HSSIZET_MIN macros. Platforms tested: FreeBSD 4.8 (sleipnir) w/C++ FreeBSD 4.8 (sleipnir) w/parallel h5committested
* [svn-r6430] Purpose:Quincey Koziol2003-02-241-5/+16
| | | | | | | Code cleanup (sorta) Description: Updated to new copyright information as I browsed these files.
* [svn-r6383] Purpose:Quincey Koziol2003-02-071-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature for developers. Description: Added "function stack" tracing to library. This allows developers (there is no public API) to call H5FS_print within the library and get a listing of the functions traversed to reach that point in the library. Eventually, I may add support for reporting the parameters to each function also... Mainly for debugging parallel I/O programs, but I think it will come in handy in other cases also. The function stack tracking is controlled with a configure switch: --enable-funcstack, which defaults to enabled currently. When we branch for 1.6, we should change the default setting on the branch to be disabled. Also, added a destructor to the thread-specific keys when thread-safety is turned on in the library. Otherwise, they were leaking memory and causing difficult to debug errors in threaded programs (like the test/ttsafe test). Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir) w/thread-safety enabled. Misc. update: Updated MANIFEST with new files added (src/H5FS.c & src/H5FDprivate.h) Update release_docs/RELEASE with thread-safety bug fix.
* [svn-r6283] MuQun Yang2003-01-141-1/+9
| | | | | | | | | | | | | | | | | Purpose: Change some macros to make windows happy Description: Currently no srandom and random functions on windows, Function gethostname cannot be resolved when DLL turned on Solution: use srand and rand to replace srandom and random turn off the option to check gethostname Platforms tested: windows 2000, linux 2.2.18smp Misc. update: Update MANIFEST if you add or remove any file. Update release_docs/RELEASE for bug fixes, new features, etc. Update applicable document files too.
* [svn-r6272] Purpose:Quincey Koziol2003-01-131-4/+4
| | | | | | | | | | Code cleanup Description: Fix preprocessor macros to declare variables correctly. Platforms tested: MS Visual Studio