summaryrefslogtreecommitdiffstats
path: root/src/H5Ztrans.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r20893] Description:Quincey Koziol2011-05-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r20885 from trunk to 1.8 branch: r20340: Address coverity issue 248. Set freed pointer to NULL if realloc fails, then check for NULL before attempting to close array of handles stored in memory addressed by pointer. r20341: Added initialization udata.path = NULL; udata.visited = NULL; to prevent unintialized use after done: label. Do C-style initialization AFTER all variable definitions. r20342: Fix valgrind error in H5DUMP-XML-tall.h5 r20343: Addressed Coverity issue 591 - check the return value of H5S_SELECT_ITER_RELEASE. r20344: Added initialization udata.path = NULL; to prevent uninitialized used after done: label r20347: Purpose: Fix memory leak in overhead.c Description: Fixed leak in test() in overhead.c where array "had" was never freed. r20348: Addressed Coverity issue 705 - added prototype for resize_configs_are_equal to cache_common.h. r20392: Purpose: Fix coverity issues 1677 and 1678 Description: Added return value checking for 4 funciton calls in H5tools_get_symlink_info(). r20394: Purpose: Fix coverity issues 1674 and 1675 Description: Modified H5Epush2() and H5E_printf_stack() to keep track of whether va_start() has been called, and to call va_end() at the end if so. r20395: Should be H5MM_calloc(count * sizeof(void*)). Fixed --gh r20396: Should be H5MM_calloc(count * sizeof(void*)). Fixed. --gh Tested on: Mac OSX/32 10.6.7 (amazon) w/debug & production (h5committested on branch)
* [svn-r19158] Description:Quincey Koziol2010-07-301-18/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r19156 from trunk to 1.8 branch: Bring revisions from Coverity branch back to trunk: r19044: Coverity #449 - Line 1560 called function H5O_chunk_protect for 2 pointers to allocate. But when there's failure on the second one, the first wasn't freed (H5O_chunk_unprotect). We fixed it by freeing the pointers when an error happens. r19045: Fixed coverity issue # 319. Free sec_node in done if it is not NULL. r19046: Add intended but missing assignments to initialize pointers to NULL (coverity issue fixes). r19049: Hdf5_1_8_coverity branch was recreated from hdf5_1_8 branch in revision 18839 without fix for Coverity issue #84 having been propagated to the hdf5_1_8 branch. This revision adds the fix again. r19060: added parentheses to see if they will keep subversion from getting confused r19061: Fix coverity item 139. Fixed incorrect condition for freeing buffer on error. Fix coverity items 20 and 21. Removed unused NTESTS facility from dtypes.c. Cleanup in H5Shyper.c. r19062: Fix coverity item 450. Check to see if chk_proxy has been allocated before attempting to free it. Fix coverity item 454. Check to see if allocation of buf failed in H5D_fill_refill_vl. Fix coverity items 455-457. Initilize hid_t's to -1, check their value before attempting to close them, and check if the close failed. r19063: New fix to address coverity issue #84. Check that pointers in H5Z_xform_find_type are not NULL before passing them to H5T_cmp. Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (h5committested on Coverity branch)
* [svn-r18172] Description:Quincey Koziol2010-01-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18171 from trunk to 1.8 branch (with appropriate tweaks): Bring r18169 from 'merge_metadata_journaling' branch back to trunk: Converge changes on metadata_journaling branch and trunk: - Remove H5F_t* parameter from H5HL_unprotect() - Remove H5F_t* parameter from H5HL_dirty() - Remove H5F_t* parameter from H5O_unprotect() - Bring changes to metadata caching routines back: - H5AC_pin_protected_entry() - H5AC_resize_pinned_entry() - H5AC_unpin_entry() - H5AC_mark_pinned_entry_dirty() - H5AC_mark_pinned_or_protected_entry_dirty() - Revise internal H5C routines to drop H5F_t* and/or H5C_t* as parameter where possible - Revise tests to follow internal routine changes Also, other minor changes to speedup the 'cache' test. 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.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
* [svn-r18032] Description:Quincey Koziol2009-12-171-64/+45
| | | | | | | | | | | | | | | | | Bring r18031 from trunk to 1.8 branch: 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 (h5committested on trunk)
* [svn-r17954] Description:Quincey Koziol2009-12-031-23/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r17953 from trunk to 1.8 branch: Bring Coverity changes into the trunk: r17877: Error 266: Uninitialized memspace set to -1. Changed malloc and free to HDmalloc and HDfree. Removed unused dtype var. r17878: Error 265: Uninitialized mem_space set to -1. Changed malloc and free to HDmalloc and HDfree. Error 267: Uninitialized smspace set to -1. Changed malloc and free to HDmalloc and HDfree. r17879: Error 242: Uninitialized aid set to -1. Error 243: Uninitialized sid set to -1. Uninitialized tid set to -1 for consistency r17880: Error 242: reinitialized aid to -1 after close to be ready for reuse. Error 243: reinitialized sid to -1 after close to be ready for reuse. reinitialized tid to -1 for consistency after close to be ready for reuse. r17881: use valgrind to check there is a memory leak. The fix is to free ptrstr in line 5838 at xml_dump_group() of h5dump.c after it is used. run the valgrind after the fix, no memory leak for that part of the code. r17882: Fix Coverity items 256 and 269. r17883: Error 222-230: initialized hid_t vars to -1 after close to be ready for reuse. Also added H5Tclose for tid in gent_bigdims r17884: Bug fix (Coverity run2, view 23, dead code) (this is pair-program done by Albert, Elena and Larry). Confirmed and fixed the deadcode in hyperslab read branch of function diff_datasetid. (Discovered other bad code that diff_datasetid() should be recoded. Bug 1693 is entered for this.) r17906: Fix Coverity item 260. r17907: 262: Initialized hid_t's dtype, dtype_tmp and file to -1. Initialized H5T_t * dt to NULL. r17908: Fix Coverity item 261. r17909: Fix Coverity item 248. r17910: Revise fix for Coverity item 248. r17911: Resolved coverity issues #s 263, 162, 163, 164. All issues in dsets.c. Initialized fid and did hid_t's. filter_corrupt function was returning in the middle of an if statement, bypassing free calls. Updated error handling to free buffers and hid_t's appropriately. r17912: (done by Larry and Albert) Cleanup Coverity view warnings (#231-241) about using uninitialized variables. Initialized all of them. r17913: Resolved issue 251 and 264. Initialized tid2 to -1 and initialized buffers that were freed in case of an error. r17914: Resolved coverity issues 66, 220, and 221: 66: Negative Return assignment ignored 220,221: Initialized hid_t's. r17915: Fix Coverity item 247. r17916: Fix Coverity item 246. r17917: Fix Coverity item 245. r17918: Fix Coverity item 244. r17919: Coverity Issue #84: Moved asserts in H5T_cmp to the top of the function, and converted them to HDassert. Coverity complaining about using potentially NULL pointer without checking it. Want to see if Coverity will accept Assertions as acceptable checking before using the value. Tested on: FreeBSD/32 6.3 (duty) w/debug (h5committested on trunk)
* [svn-r16490] Fixed bug #1459 by eliminating the macro long_long and ↵Allen Byrne2009-02-181-6/+6
| | | | | | | | | replacing all instances with long long. Tested: h5comittest fedora 10 x64 XP32, VNET
* [svn-r15629] Description:Quincey Koziol2008-09-161-1/+1
| | | | | | | | | | | | | 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-r15610] Description:Quincey Koziol2008-09-101-73/+61
| | | | | | | | | Bring r15609 back from trunk: Omnibus compiler warning cleanup & some formatting happiness. Tested on: Mac OS X/32 10.5.4 (amazon) Too minor to require h5committest
* [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-r12879] Purpose: Bug fixLeon Arber2006-11-081-13/+18
| | | | | | | Description: Fix a few memory-related bugs in the data transform code. Tested: kagiso (for real this time) w/ valgrind 3.2.1
* [svn-r12803] Description:Quincey Koziol2006-10-231-19/+14
| | | | | | | | | | | | | | 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)
* [svn-r11515] Purpose:Albert Cheng2005-10-101-1/+1
| | | | | | | | | | Fixed copyright notice. Description: A line is missing in the copyright notice. Fixed. Platforms tested: No test since it is only a fix in a comment block.
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-81/+81
| | | | | | | | | | | | | | | | | | | | 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-2/+36
| | | | | | | | | | | 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-r10699] Purpose:Quincey Koziol2005-04-291-1/+1
| | | | | | | | | | | | Code cleanup Description: Switch name & logic from H5_LLONG_TO_FP_CAST_BROKEN to H5_LLONG_TO_FP_CAST_WORKS, to better match the rest of the library. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10690] Purpose:MuQun Yang2005-04-281-12/+17
| | | | | | | | | | | | | | | | | | Bug fix Description: On visual studio 6.0, conversion from unsigned long long to double is not supported. Even during compilation stage, it will fail. Solution: Albert changed the way the macro is handled so that for windowx MSVS 6.0, the code that has conversion from unsigned long long to double will not compile. Platforms tested: windows, linux Misc. update:
* [svn-r10660] Purpose:Leon Arber2005-04-251-1/+1
| | | | | | | | | | | | | | | | | bug fix (sorta) Description: Rename H5_LLONG_TO_FP_CAST_WORKS to H5_LLONG_TO_FP_CAST_BROKEN Solution: Since a test for H5_LLONG_TO_FP_CAST_WORKS is not present in the configure script, the dtransform test would assume that this cast doesn't work and skip the test. Change the variable around so that, by default, it is assumed a long long to double cast does work. Platforms tested: minor change: copper, sol Misc. update:
* [svn-r10658] Purpose:Leon Arber2005-04-251-35/+25
| | | | | | | | | | | | | | | | | Bug fix Description: The intel compiler on windows doesn't support long long to double conversion. Solution: Added a flag H5_LLONG_TO_FP_CAST_WORKS. When it is not defined, the data transform will issue an error when someone tries to perform a transform from long long to double and the long long to double dtransform test will be skipped. Platforms tested: heping, sol, copper Misc. update:
* [svn-r10238] Purpose:Quincey Koziol2005-03-201-14/+14
| | | | | | | | | | | | | | | | Optimization Description: Speed up I/O on enumerated datatypes (including those nested in compound datatypes, arrays, etc.) if the destination datatype is a proper superset of the source datatype. Solution: Detect the situation and treat as no-op datatype conversion. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r9857] Purpose: MaintenanceElena Pourmal2005-01-221-3/+0
| | | | | | | | | | | | | | 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-r9727] Purpose:Quincey Koziol2004-12-291-195/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-r9524] Purpose:Leon Arber2004-11-121-3/+14
| | | | | | | | | | | | | | | | | | | Bug Fix Description: Fixed off by one error in H5Pget_data_transform Solution: H5Pget_data_transform, when queried for the size of the property, should return strlen() + 1 so that the user can allocate memory for the terminating \0 in the string. Also fixed a typo in a comment in H5Ztrans.c Platforms tested: eirene, too minor to require further testing. Misc. update:
* [svn-r9466] Purpose:Quincey Koziol2004-10-271-1/+0
| | | | | | | | | | | Bug fix Description: Clean up potential buffer overflow in strncpy() Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r9461] Purpose:Leon Arber2004-10-261-8/+5
| | | | | | | | | | | | | | | | | | | | | Changed functionality of H5Pget_data_transform Description: H5Pget_data_transform no longer allocates memory for the transform string...it is the user's responsbility to do so. Solution: Made H5Pget_data_transform be more in line with other functions that do similiar things: User now has to allocate memory for the string themselves and specify how much of the string should be copied into the buffer. There is also support for querying the length of the transform string. Platforms tested: sol + eirene + copper Misc. update:
* [svn-r9457] Purpose:HDF Admin2004-10-251-13/+43
| | | | | | | | | | | | | | | | | | | Bug fix. Description: The previous H5_ULLONG_TO_FP_CAST_WORKS fix does not quite work since the problem was an error during compiling while the fix was trying to check for the error condition during runtime. The MS-Compiler still complains about not supporting ULLONG to Float. Solution: A temperary patch is to have two #define of H5Z_XFORM_TYPE_OP according to if H5_ULLONG_TO_FP_CAST_WORKS is defined. This works but a better solution is needed. Platforms tested: Windows (by Kent) and heping (Linux by me).
* [svn-r9441] Purpose:Leon Arber2004-10-201-325/+84
| | | | | | | | | | | | | | | | | | | | Code refactor Changed functionality of H5Pget_data_transform Description: Rewrote much of H5Ztrans.c to use macros, which cut down on the amount of code significantly. H5Pget_data_transform now allocates memory for the data transform string, copies the string into this memory, and returns this pointer to the user, instead of returning a pointer to the internal transform string stored by hdf. It is the user's responsibility to free this memory when they are done with it. Platforms tested: sol + eirene + copper Misc. update:
* [svn-r9440] Purpose:Leon Arber2004-10-201-18/+19
| | | | | | | | | | | | | | | | | | | Bug fix Description: Fix typo in #ifdef for unsigned long long to double conversion. Changed WIN32 check to H5_ULLONG_TO_FP_CAST_WORKS This check-in (and the one before it) also includes a large code-refactoring that is still in progress. Solution: the ifdef for the plus case was checking unsigned long instead of unsigned long long. Moved the check to the right location. Platforms tested: sol+eirene Misc. update:
* [svn-r9430] Purpose:Leon Arber2004-10-181-1684/+272
| | | | | | | | | | | | | | | | Bug fix. Description: The windows compiler apparently cannot convert from unsigned long long to double. This conversion is necessary for the data transform to work properly in some cases. Solution: Added #ifdef to check for windows and issue error when user attempts to do a data transform on a long long type. Platforms tested: sol + eirene
* [svn-r9422] Purpose:Leon Arber2004-10-141-528/+1379
| | | | | | | | | | | | | Description: Code optimization and refactoring. Added support for llong, ullong, and ldouble Solution: Significantly cut down on the amount of code required to do the transform, while making the operations more efficient. Platforms tested: sol + eirene
* [svn-r9368] Purpose:Leon Arber2004-10-051-508/+972
| | | | | | | | | | | | | | | | Rewrote H5Z_xform_eval_full such that it no longer "returns an aggregate" Added support for CHAR, LONG, ULONG, DOUBLE, SHORT, USHORT, UCHAR, SCHAR, and UINT to the data transform. Support for LLONG and ULLONG to be added shortly. Description: Data transforms can now operate on arrays with the native types listed above. Platforms tested: sol + eirene Misc. update:
* [svn-r9314] Purpose:Leon Arber2004-09-231-0/+6
| | | | | | | | | | | | | | | | Bug fix Description: Fix for small memory leak that occurs when destroying the data transform property. Forgot to free the array of pointers to the temorary data. Solution: Freed memory. Platforms tested: sol + eirene Misc. update:
* [svn-r9297] Purpose:Albert Cheng2004-09-221-5/+10
| | | | | | | | | | | | | | | | Bug fix. Description: Code would attempt to Calloc with zero count when a simple expression that has no x term. That resulted in NULL for some platform (like AIX). That appeared as a failure treated as out of space. Solution: Checked if count is larger than 0 before making the calloc request. Platforms tested: Tested in copper (pp) where the failure appeared. Also in eirene as double check. No h5committest as the change is trivial.
* [svn-r9267] Purpose:Leon Arber2004-09-161-110/+305
| | | | | | | | | | | | | | | | | | | Added H5Pget_data_transform Added support for polynomial data transforms Description: There is now support for polynomial data transforms (ie, (2+x)*(x-5)) instead of just linear ones. Note that, in order to compute a polynomial transform, one temporary copy of the original data must be stored for each occurence of "x" in the transform expression. This can result in very high memory usage for expressions of high order. Platforms tested: sol + eirene Misc. update:
* [svn-r8782] Purpose:Quincey Koziol2004-07-011-317/+228
| | | | | | | | | | | Code cleanup Description: Clean up almost all warnings from Windows builds. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8731] Purpose:Quincey Koziol2004-06-231-25/+11
| | | | | | | | | | | | | | | 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-r8683] Purpose:Quincey Koziol2004-06-141-6/+6
| | | | | | | | | | | | | Code optimization Description: Use 'size_t' instead of 'hsize_t' to track the number of elements in memory buffers, especially for type conversion. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8489] Purpose:Leon Arber2004-05-071-161/+161
| | | | | | | | | | | | | | Bug fix. Description: Fixed token_type enum struct in H5Ztrans.c to compile under windows. Solution: Prefixed all values in the struct with H5Z_XFORM_ to prevent name collisions with pre-defined values. Platforms tested: h5committest'ed, but on arabica + no sol.
* [svn-r8488] Purpose:Leon Arber2004-05-061-455/+378
| | | | | | | | | | | | | | | | | | | Bug fix. Description: Fixed handling of trivial data transform expressions (like 5/3 + 3) and some data coversion fixes. Also added more tests to dtransform.c Solution: Added some more checks in the H5Z_xform_reduce_tree function to see if perhaps the transform expression is complicated and is a non-trivial reduction. Added tests for data conversion to dtransform as well as tests for a trivial data transform expression. Platforms tested: h5committest'ed, except used arabica instead of sol and didn't do on copper b/c no logon there. Problem noted with mtime test...doesn't appear to be related to anything having to do with data transforms.
* [svn-r8483] Purpose:Quincey Koziol2004-05-051-5/+4
| | | | | | | | | | Bug fix Description: Fix problems compiling with g++. Platforms tested: FreeBSD 4.9 (sleipnir) w/CC=g++
* [svn-r8482] Purpose:Quincey Koziol2004-05-051-58/+321
| | | | | | | | | | | | Code cleanup Description: Refactored data transform code to reduce amount of symbols in the global scope and also cleaned up & simplified the code a bit. Platforms tested: h5committest (minus copper, plus serial modi4) FreeBSD 4.9 (sleipnir) w & w/o parallel
* [svn-r8479] Purpose:Albert Cheng2004-05-031-0/+1626
New Feature Description: Add the data transform function, H5Pset_transform(). Platforms tested: "h5committested". Copper was down. Ran parallel tests in sol instead. Misc. update: