summaryrefslogtreecommitdiffstats
path: root/src/H5Tconv.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r22914] I checked in the conversion function H5T__conv_enum_numeric ↵Raymond Lu2012-10-171-0/+83
| | | | | | (numeric type means integer or floating number) and the C test for it. This is the work for Chicago. Tested on jam, koala, and ostrich.
* [svn-r22749] Description:Dana Robinson2012-09-101-30/+28
| | | | | | | Undo of accidental check-in of H5T code in last check-in. Tested on: jam w/ parallel enabled (revert to pre-existing code)
* [svn-r22748] Description:Dana Robinson2012-09-101-28/+30
| | | | | | | H5FD_FLMAP_SINGLE changed to H5FD_FLMAP_DICHOTOMY in the MPI-POSIX VFD. Tested on: jam w/ parallel and fortran enabled (minor change)
* [svn-r22287] Description:Quincey Koziol2012-04-161-526/+526
| | | | | | | | Clean up more FUNC_ENTER/FUNC_LEAVE macros and move H5D & H5T code toward the final design (as exemplified by the H5EA & H5FA code). Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & parallel
* [svn-r21921] Description:Quincey Koziol2012-02-091-1/+3
| | | | | | | Add more braces to master conversion macro that was changed in r21919 Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r21919] Description:Quincey Koziol2012-02-091-1115/+30
| | | | | | | | 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-r21734] Issue 7582 - The library allowed the conversion of strings ↵Raymond Lu2011-11-081-0/+15
| | | | | | between ASCII and UTF8. I corrected it by adding a condition check in H5T_conv_s_s and H5T_conv_vlen to report an error under this situation. Tested on jam, koala, linew.
* [svn-r21508] Revoked svn check-ins 20913 and 20921 (fix for HDFFV-7579) ↵Dana Robinson2011-10-101-90/+2
| | | | pending a careful evaluation of enum conversion behavior.
* [svn-r20921] Issue 7579 - The overflowing ENUM values are inconsistent. I ↵Raymond Lu2011-05-271-5/+6
| | | | | | took out the error report for 2 H5Tclose calls in H5T_conv_enum because they would clear the error stack. Tested on jam - simple change.
* [svn-r20913] Issue 7579 - The overflowing ENUM values are inconsistent. ↵Raymond Lu2011-05-271-2/+84
| | | | | | | | | | When no conversion is involved in reading or writing the data, overflowing values are retained. When conversion happens, the values become -1. The conversion function puts -1 when overflow happens. I added two new dataset transfer property to control whether to fill 0xff in the destination data or convert to the destination data when overflow happens. The two new functions are H5Pset(get)_enum_conv_overflow. I also added test cases in enum.c and dtypes.c. Tested on jam, koala, and heiwa.
* [svn-r20896] I added some comments.Raymond Lu2011-05-241-0/+15
| | | | Tested on jam - very simple change.
* [svn-r20052] Description:Quincey Koziol2011-02-061-290/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up Coverity warnings, and fix some style issues: r19735: Fix for memory leak in test/mf found by valgrind. r19736: Fix memory leak in h5repack. The buffer in copy_objects, when copying the entire dataset at once, was not checked for the presence of a vlen, and vlen storage was never reclaimed. Added check and call to H5D_vlen_reclaim(). r19772: Change H5assert() to if (H5T_VLEN != src->shared->type || H5T_VLEN != dst->shared->type) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype") r19774: removed unused priv. r19775: removed unused variables r19778: Fix memory leak comparing for variable length data types. r19834: Fixed memory leaks found by valgrind. Memory errors remain for another day. Tested on: Mac OS X/32 10.6.6 (amazon) w/debug & production (h5committested on branch)
* [svn-r19398] Descriptino:Quincey Koziol2010-09-161-6/+6
| | | | | | | | | | | | | | | | | | | | | | | Clean up the internal usage H5I_dec_ref() to eliminate the sequence of flags that has been creeping in. 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 Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
* [svn-r19363] When mandatory filter failed to write data chunks, the datasetRaymond Lu2010-09-091-6/+6
| | | | | | | couldn't close (bug 1260). The fix releases all resources and closes the dataset but returns a failure. Tested with h5committest - jam, heiwa, amani.
* [svn-r19015] Description:Quincey Koziol2010-06-171-15/+15
| | | | | | | | | | Remove unused 'ATYPE' parameter from H5T_CONV() macro Remove unused 'result' variable from H5AC_set() Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (too minor to require h5committest)
* [svn-r18625] Description:Quincey Koziol2010-04-231-349/+349
| | | | | | | | | | | | | | | | | | | | | | Checkpoint progress on Bz#1398 - strict aliasing issues. (Lots of compiler warnings & code cleanups also) 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 Mac OS X/32 10.6.3 (amazon) in debug mode Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r18212] Description:Quincey Koziol2010-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring revisions from Coverity fixing branch to trunk: r18184: Fixed Coverity issue 373. Allocated memory freed in line 762 in case of error. r18185: Fixed Coverity issues 357 & 358. Added check for NULL pointer before use. r18186: Fix coverity item 65. Added code to h5unjam to correctly handle failures in read() and write, and also to correctly handle writes that write less than requested. r18187: Fix coverity items 115 and 116. Added code to H5Tenum.c to correctly close opened datatypes in case of failure. r18188: Fixed Coverity issue 46. Check that dataset->shared is not null when freeing memory after error. r18190: Fix coverity item 95. Added code to H5T_create_vlen to correctly close allocated datatype in case of failure. r18191: Fixed Coverity error 59. Checked sfirst for -1 value before use in line 10533. r18192: Fix Coverity items 121 and 28 Added Asserts: 121: assert that all dimensions of count have values greater than zero. 28: assert curr_span pointer is not null before dereference. Note: still need too add checks in hyperslab APIs that fail when count values are zero, and appropriate tests. r18194: Fixed Coverity issues 61 & 62. Checked variable snpoints for value < 0 in line 218. Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & production (already daily tested on coverity branch)
* [svn-r18031] Description:Quincey Koziol2009-12-171-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18030 from merge_metadata_journaling branch to trunk: Bring "brush clearing" changes (whitespace & style issues, mostly) from metadata_journaling branch to the "merging" branch, to converge the trunk and the metadata_journaling branch. Also, some other minor cleanups along the way. 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-r18030] Description:Quincey Koziol2009-12-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring "brush clearing" changes (whitespace & style issues, mostly) from metadata_journaling branch to the "merging" branch, to converge the trunk and the metadata_journaling branch. 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-r17977] Bug fix for 1584. H5Tdetect_class said a VL string is a string ↵Raymond Lu2009-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | type. But when it's in a compound type, it says it's a VL type. We want to tell user a VL string is a string. But internally we treat it as a VL type. I added a flag as a parameter of H5T_detect_class. It tells whether the caller is the public function H5Tdetect_class. I also added a detection for VL string in the private function for the compound case (or array or nested VL type). Tested on jam and amani - I tested the same change for 1.8 with h5committest.
* | [svn-r17585] Purpose: Fix bug 1597Neil Fortner2009-10-021-44/+41
| | | | | | | | | | | | | | | | | | | | | | Description: When copying a dataset using a vlen inside a compound, the various dataset copying callbacks would allocate a background buffer but would not use it when converting from disk to memory, only memory to disk. This caused an assertion failure as compounds always need a background buffer. These callbacks have been modified to use the background buffer for both conversions. Tested: jam, linew, smirom (h5committest)
* | [svn-r17392] I added a detection for the correctness of converting from ↵Raymond Lu2009-08-201-4/+4
| | | | | | | | | | | | | | | | | | | | unsigned long to float in the configure.in. The Pathscale compiler on Sandia's Linux machine misinterprets the values of unsigned long as negative during the conversion to float, when the first bit of unsigned long is on. Tested on jam. Need to test it on Sandia's machine.
* | [svn-r16803] Purpose: Fix bug 1548Neil Fortner2009-04-201-27/+27
| | | | | | | | | | | | | | | | | | Description: When writing data to a dataset, the data transform was performed after type conversion. This caused an error if the file type was non-native. This has been changed so data transforms are always performed on the memory type. Tested: jam, linew. smirom (h5committest)
* | [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and ↵Allen Byrne2009-02-181-90/+90
| | | | | | | | | | | | | | | | | | | | | | replacing all instances with long long. Tested: h5comittest fedora 10 x64 Vista 32, VS2005, IVF101 XP32, Cygwin
* | [svn-r15796] Purpose: Close bug #1322Neil Fortner2008-10-071-20/+48
| | | | | | | | | | | | | | | | | | Description: Fixes a possible datatype id leak that could occur during compound datatype conversion, or more precisely, when unregistering those conversions. Datatype ids normally registered by the library are no longer visible to the application via H5Fget_obj_ids and H5Fget_obj_count. Tested: kagiso, linew, smirom (h5committest)
* | [svn-r15682] Purpose: fix bug 1298Neil Fortner2008-09-221-23/+33
| | | | | | | | | | | | | | | | | | | | | | Description: The optimized "subset" compound conversion function would improperly copy the "blank" space at the end of compound types. Modified H5T_conv_struct_init to detect when the subset type has extra space at the end, and calculate the size of the data that should be copied into the conversion buffer for each element. Changes to the functions that implement these conversions. Tested: kagiso, linew, smirom (h5committest)
* | [svn-r15628] Description:Quincey Koziol2008-09-161-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* | [svn-r15609] Description:Quincey Koziol2008-09-101-1021/+1086
| | | | | | | | | | | | | | | | Omnibus compiler warning cleanup & some reformatting also. Tested on: Mac OS X/32 10.5.4 (amazon) Too minor to require h5committest
* | [svn-r15485] Purpose: Allow library to shut down properly when objects have ↵Neil Fortner2008-08-191-10/+10
|/ | | | | | | | | | | | | | | | reference count > 1. Description: Added a new field 'app_count' to H5I_id_info_t struct, to track the reference count on an id due to the application. the old 'count' field tracks the total. Generally any id visible to the application gets placed in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref, H5I_register, H5I_clear_type, and a few other functions, to specify whether the operation(s) being performed on the id(s) are due to the application (TRUE) or not (FALSE). Test added for this case. Tested: kagiso, smirom, linew (h5committest)
* [svn-r14903] Undoing change committed in r14902.Scot Breitenfeld2008-04-301-4/+2
|
* [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. ↵Scot Breitenfeld2008-04-301-2/+4
| | | | New fortran wrappers added.
* [svn-r14860] Description:Quincey Koziol2008-04-241-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Omnibus raw data I/O revisions, with wide-ranging changes and refactoring, in order to prepare for implementing "fast append" feature. These changes remove the majority of the code duplication for raw data I/O which has crept in over the last ten years and introduces a more object- oriented design for operating on different types of dataset storage. Chunked storage no longer has it's own I/O routines, it is now handled as either contiguous (if chunk is not pulled into the cache) or compact (if the chunk is cached in memory). No bug or feature changes, at least intentionally... :-) 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.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14187] Description:Quincey Koziol2007-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | Put H5Acreate() under API versioning, with all internal usage shifted to H5Acreate2(). Add regression tests for H5Acreate1(). 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.4.10 (amazon) in debug mode
* [svn-r14144] Description:Quincey Koziol2007-09-131-1/+1
| | | | | | | | | | | | | | | | Move H5Gget_objinfo() to deprecated symbols section and retarget internal usage to H5Lget_info()/H5Oget_info(). Misc. other code cleanups... Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 2.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r14015] Refactoring part of the code. Tested only on liberty becauseRaymond Lu2007-07-251-24/+1
| | | | the change is simple.
* [svn-r14011] Refactored part of the code in H5T_conv_struct_opt. Tested only Raymond Lu2007-07-241-28/+19
| | | | on smirom because it's a simple change.
* [svn-r14003] Description:Quincey Koziol2007-07-241-8/+6
| | | | | | | | | | Code cleanup & whitespace fixups Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Mac OS X/32 10.4.10 (amazon)
* [svn-r13926] Description:Quincey Koziol2007-06-291-8/+9
| | | | | | | | | | | | Add small interface to "wrap" a static buffer (usually on the stack), but still allow for buffers larger than the static buffer to be allocated. This can eliminate _many_ short-lived buffer allocations in situations where the buffer is a predictable size (or at least a "very likely" size). Also, some minor code cleanups, particularly in the SOHM caching code. Tested on: Mac OS X/32 10.4.10 (amazon)
* [svn-r13885] Modify the comment from the checkin last round.Raymond Lu2007-06-191-3/+3
| | | | No test is needed.
* [svn-r13884] The second step of optimization for compound data for the ChicagoRaymond Lu2007-06-191-31/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | company. The I/O is optimized when the source and destination members are a subset of each other one way or another, and the order is the same, and no conversion is needed. For example: struct source { struct destination { TYPE1 A; --> TYPE1 A; TYPE2 B; --> TYPE2 B; TYPE3 C; --> TYPE3 C; }; TYPE4 D; TYPE5 E; }; or struct destination { struct source { TYPE1 A; --> TYPE1 A; TYPE2 B; --> TYPE2 B; TYPE3 C; --> TYPE3 C; }; TYPE4 D; TYPE5 E; }; The optimization is simply moving data from the source to the appropriate places in the buffer and bypass the reading of the background data and data conversion. Tested on smirom, liberty, sol, and copper.
* [svn-r13841] Description:Quincey Koziol2007-06-081-2/+2
| | | | | | | | | | Add a little more information to the debugging routine, for VL datatypes. Minor code cleanups Tested on: Mac OS X/32 10.4.9 (duty) Too minor to require h5committest
* [svn-r13803] Optimization of reading compound data.Raymond Lu2007-05-231-59/+139
| | | | | | | | | | | | | | | | | Optimize a special case when the source members are a subset of destination, and the order is the same, and no conversion is needed. For example: struct source { struct destination { TYPE1 A; --> TYPE1 A; TYPE2 B; --> TYPE2 B; TYPE3 C; --> TYPE3 C; }; TYPE4 D; TYPE5 E; }; The optimization is simply moving data to the appropriate places in the buffer. This optimization work is for the Chicago company. Tested on sol, copper, smirom, liberty.
* [svn-r13544] Some minor adjustment from last round of checkin. Tested on kagisoRaymond Lu2007-03-261-4/+3
| | | | only because the changes are simple.
* [svn-r13542] Added a detection for zero-length VL data in H5T_conv_vlen to ↵Raymond Lu2007-03-261-1/+7
| | | | | | handle the case properly. This fix was discovered by the user while Bug #717 was being fixed. Modefied the test, too.
* [svn-r13348] Minor change - a void pointer wasn't cast to a byte pointer.Raymond Lu2007-02-201-1/+1
|
* [svn-r13342] Bug fix (#717): Nested VL data failed to free the space when ↵Raymond Lu2007-02-201-4/+4
| | | | | | the data is over- written with shorter length.
* [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-r12828] Description:Quincey Koziol2006-10-301-39/+39
| | | | | | | | Clean up compiler warnings... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12821] Description:Quincey Koziol2006-10-281-28/+28
| | | | | | | | | Clean up compiler warnings, esp. on 64-bit Linux boxes. Tested on: 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-r12803] Description:Quincey Koziol2006-10-231-1/+1
| | | | | | | | | | | | | | Finish new version of the I/O pipeline message, which is much smaller than the previous version. This version is used with the "use the latest version of the format" flag. Closed several memory leaks/overruns (found with valgrind). Also, lots of compiler & formatting cleanups. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)