summaryrefslogtreecommitdiffstats
path: root/src/H5Znbit.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r27768] Description:Quincey Koziol2015-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
* [svn-r27626] Various minor warning fixes before major SWMR and VDS merges.Dana Robinson2015-08-311-15/+108
| | | | | | | | | | | gcc 4.9.2 was used to create the warning list - implicit casts - shadowed variables - various enum issues - other minor fixes (comments, unused macros, etc.) Tested on: h5committest
* [svn-r27133] - Add a new attribute function characterstic for format:Mohamad Chaarawi2015-06-011-1/+1
| | | | | | | | * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-orderedDana Robinson2015-05-101-1/+1
| | | | | | the arguments to be in a more logical order. Tested on: h5committest
* [svn-r26329] Merge of r26069, r26070, and r26072 from the ↵Dana Robinson2015-02-271-3/+1
| | | | | | | | | | | | | | | | | | features/autotools_rework branch. Removed the configure option that allows selective disabling of individual internal filters (fletcher32, shuffle, etc.). This feature mucked up the code with a lot of #ifdefs, saved very little space, and was not scalable to a general scheme for library size reduction. We've decided to remove the feature while we investigate a more general scheme for decreasing the library size. Part of: HDFFV-9086 Tested on: h5committest
* [svn-r25766] Description:Quincey Koziol2014-11-031-1/+1
| | | | | | | | | | Revert r25273, 25283 & 25439 (the hyperslab improvement changes). They are buggy and it's taking me a long time to correct the problem. I'll check in a revised form of the changes when I've got them straightened out. Tested on: Mac OSX 10.10.0 (amazon) w/gcc 4.9.x, C++, FORTRAN Linux 2.6.x (jam) w/parallel
* [svn-r25273] Description:Quincey Koziol2014-06-131-1/+1
| | | | | | | | | | | Bring in Chao/Neil/my changes to optimize hyperslab selection operations further, along with 3 new public API routines: H5Scombine_hyperslab(), H5Sselect_select() and H5Scombine_select(), along with many minor cleanups to the code and fixing a few compiler warnings. Tested on: Mac OSX/64 10.9.3 w/gcc 4.9.x and parallel w/OpenMPI (h5commttest forthcoming)
* [svn-r23938] remove "switch missing default case" in src.Mohamad Chaarawi2013-07-261-0/+12
|
* [svn-r21919] Description:Quincey Koziol2012-02-091-9/+9
| | | | | | | | 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-r19833] Bug fix - In the code of N-bit filter, one line (the last line ↵Raymond Lu2010-11-191-7/+11
| | | | | | | | | | | of H5Znbit.c in H5Z_nbit_compress - "*buffer_size = j + 1;" was mistakenly taken out by someone. It is necessary to update the new size. I put it back and made 2 test cases for integer and float to verify the correct dataset size. I'm bringing the fix from 1.8 branch. The changes to configure.in, tools/misc, config, Makefile.am are only property changes. Tested on jam. But I tested 1.8 on jam, heiwa, and amani.
* [svn-r19174] Bug fix for #1239 - The filter's public function CAN_APPLY ↵Raymond Lu2010-08-051-3/+3
| | | | | | | | | | | | should return htri_t not herr_t. To minimize the change of the library's behavior, in the function H5Z_prelude_callback of H5Z.c, if the return value of can_apply is FALSE and the filter is MANDATE, this function returns a FAILURE. If the return value is FALSE but the filter is OPTIONAL, this function returns a SUCCEED. During the IO, the filter will fail and return a size of zero. But the pipeline will skip this filter. Tested on jam, lnew, and amani. Tested on jam with szip.
* [svn-r18109] Description:Quincey Koziol2010-01-151-42/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18076-18096 from hdf5_1_8_coverity branch to trunk: r18076: Correct Coverity issue #1 by removing dead code r18077: Fix coverity item 142. When an error occurred while copying a linked list in H5S_point_copy, the library would not free the partially allocated list. Added code to free the list in this case. r18078: Correct Coverity issue #2 by removing impossible to reach code. r18079: Correct #3 by removing impossible to reach code. r18080: Correct Coverity issue #4 by removing impossible to reach code. r18081: fix coverity 26 , check (dblik->parent) before calls H5HF_man_iblock_detach(). r18082: Fixed coverity issues 321 and 316. 321: freed sm_buf in error handling to remove resource leak. Also set sm_buf to NULL after other instances in which it is freed to prevent double free. 316: initialized nmembs to 0. r18083: Correct Coverity issue #6 by removing debugging knob from error reporting code. r18084: Fix coverity item 269 + others. When a error occurred in a function using the h5tools error framework, the "past_catch" variable would not be set to true because that statement was before the label that goto jumped to. This could cause a failure in the cleanup section to go back to the start of the section, freeing variables twice, etc. Moved the label infront of past_catch=TRUE. r18085: fixed coverity #27, check if (heap) before use heap->obj.... r18086: fixed coverity #28, check curr_span not null before use it at if(curr_span && (io_bytes_left==0 || curr_seq>=maxseq)) r18087: Correct Coverity issue #7 by cleaning up correctly on error r18088: Correct Coverity #8 by removing unchanged variable checking code. r18089: Correct Coverity issue #9 - remove impossible to reach code. r18090: Correct Coverity issue #11 by removing impossible to reach code. Also clean up some minor style issues. r18091: Fix coverity items 314 and 318. Changed the improper assertion of the return value of a library function to a check, and a return(void) on failure. r18092: Fix coverity item 70. Changed the improper assertion of the return value of a library function to a check, and a return(void) on failure. r18093: Correct Coverity issue #12 by removing dead code. r18094: Correct Coverity issue #16 by removing debugging code. r18095: Fixed coverity issue # 271. Removed redundant checking and freeing of sm_buf1 and sm_buf2. r18096: Correct Coverity issue #17 by refactoring test to remove dead code. Also, removed previous "coverity" statements in comments, we'll review those issues again and see if we can figure them out, now that we have more experience with Coverity. Tested on: Mac OS X/32 10.6.2 (amazon)
* [svn-r16807] Purpose: Fix bug 1533Neil Fortner2009-04-201-1/+1
| | | | | | | | | | | Description: Previously, there was no versioning for H5Z_class_t. This prevented applications written for 1.6 using custom filters from being able to use the 1.8 library. There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is *not* versioned, it determines which version of the struct has been passed in by the value of the first field (id or version, both are ints). Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
* [svn-r16209] Purpose:Choonghwan Lee2008-12-191-2/+6
| | | | | | | | | | | | | | Bug fix (#1357) Description: Three filters have not assigned correct value to one value-result argument, "buf_size". N-bit, szip, and scale offset filter have had this problem. However, I don't think this problem has been making buffer overrun because those filters were informing the caller that the "buf", another value-result argument, is smaller than it actually is. If there was actual buffer overrun, I believe another problem exists although I don't know. Tested: jam, smirom, linew Although all test were passed, I'm concerned about valgrind memcheck error. There can be another miscommunication between filter and the caller.
* [svn-r15227] Description:Quincey Koziol2008-06-171-2/+2
| | | | | | | | | | | | | | | | | | Small clean up of datatype copying. 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-r15034] Description:Quincey Koziol2008-05-191-1/+2
| | | | | | | | Correct another case of using 'size_t' for chunk sizes where 'uint32_t' was necessary. Tested on: FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN
* [svn-r14379] add check of some values for the nbit and scale offest filters ↵Pedro Vicente Nunes2008-01-071-1/+0
| | | | | | | | on the h5repack verify function note: some sybols were made public tested: windows, linux
* [svn-r14376] moved a couple more private filter symbols to the public side, ↵Pedro Vicente Nunes2008-01-041-1/+1
| | | | | | needed by h5repack tested: windows, linux
* [svn-r14208] Description:Quincey Koziol2007-10-181-107/+175
| | | | | | | | | | | | | | | | | | | | Make H5Pget_filter_by_id() API versioned and switch internal usage to H5Pget_filter_by_id2(). Add simple regression test for H5Pget_filter_by_id1(). 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-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-r12803] Description:Quincey Koziol2006-10-231-12/+17
| | | | | | | | | | | | | | 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-r11245] Purpose:Quincey Koziol2005-08-131-165/+165
| | | | | | | | | | | | | | | | | | | | 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-r10736] Purpose:Quincey Koziol2005-05-071-4/+2
| | | | | | | | | | | Code cleanup Description: Clean up some compiler warnings Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r10718] Purpose:Quincey Koziol2005-05-031-2/+2
| | | | | | | | | | | Code cleanup Description: Clean up some compiler warnings. Platforms tested: FreeBSD 4.11 (sleipnir) w/gcc 4.0 Too minor to require h5committest
* [svn-r10612] Purpose:Xiaowen Wu2005-04-151-1/+1
| | | | | | | | | | | | | | | Bug fix. Description: One call to macro HGOTO_ERROR passes wrong value to ret_value. Solution: Change the value from zero to FAIL. Platforms tested: heping Misc. update:
* [svn-r10568] Purpose:Xiaowen Wu2005-04-071-25/+46
| | | | | | | | | | | | | | | | | | | | | Bug fix. Description: The current HDF5 library call H5Tget_size when called by the filter does not give the correct disk size for varible-length and variable-length string. The filter needs to have another way, if possible, to get their sizes. Solution: The filter can only solve this problem if varible-length and variable-length string is a member of compound datatype. The filter does not support the situation where an array datatype has variable-length or variable-length string as its base datatype. Platforms tested: heping, shanti Misc. update:
* [svn-r10161] Purpose:Xiaowen Wu2005-03-081-30/+182
| | | | | | | | | | | | | | | | | | New feature. Description: The nbit filter does not support situations where datatype of string, time, enum, variable-length, bitfield, opaque, reference is a field of a compound datatype or array datatype. Solution: Modify the nbit filter to hanle such situations. The filter is a no-op to these dataytypes. Platforms tested: copper, heping. Misc. update:
* [svn-r10109] Purpose:Xiaowen Wu2005-03-011-37/+69
| | | | | | | | | | | | | | | | Bug fix. Description: The nbit filter does not check error when calling some utility functions that can return a failure. Solution: Add error handling for these utility functions. Platforms tested: heping, copper Misc. update:
* [svn-r10099] Purpose:Xiaowen Wu2005-02-271-96/+86
| | | | | | | | | | | | | | | | | | | | Modifications of nbit filter. Description: The nbit filter does not support datatypes other than integer, floating-point as well as array datatype and compound datatype consisting of integer or floating-point. Solution: Change the nbit filter to accept all datatype at the top level, and if the datatype is not what described above, the filter will not do anything to the data instead of generating errors. Slight improvements of the filter's performance. Platforms tested: heping, copper Misc. update:
* [svn-r9999] Purpose:Xiaowen Wu2005-02-141-5/+3
| | | | | | | | | | | | | | Very slight modification. Description: Remove two redundant local macros. Solution: Platforms tested: heping Misc. update:
* [svn-r9982] Purpose:Xiaowen Wu2005-02-101-136/+152
| | | | | | | | | | | | | | | | bug fix plus minor modifications Description: The nbit filter makes a wrong assumption that function H5Z_set_local_nbit and H5Z_filter_nbit will be called together. It uses 2 local variables outside these functions to pass information from H5Z_set_local_nbit to H5Z_filter_nbit. Solution: Store the two variables in cd_values[], which can be retrieved when H5Z_filter_nbit is called independently. Platforms tested: heping, copper Misc. update:
* [svn-r9894] Purpose:Xiaowen Wu2005-01-311-137/+103
| | | | | | | | | | | | | | | Tests modification and improvements of nbit filter. Description: Add dynamic allocation of array storing nbit parameters and check if the number of parameters exceeds what cd_values[] can store; change function prototypes to improve poratability; minor modification to improve efficiency of the nbit algorithm. Platforms tested: AIX 5.1 and Linux 2.4. Misc. update:
* [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-r9854] Purpose:Xiaowen Wu2005-01-211-243/+866
| | | | | | | | | | | | | | | | | | For N-bit filter, Adding parameter mappings from HDF5 compound datatype, array datatype and atomic datatype to cd_values inside HDF5 library. N-bit filter should work with these datatypes(string and variable length datatype haven't been considered) in the near future. Description: This is for debugging purpose, N-bit filter won't be tested in the daily test. Solution: Platforms tested: AIX 5.1 and Linux 2.4. Arabica is too slow. Hopefully shanti can be used soon. Misc. update:
* [svn-r9782] Purpose:Xiaowen Wu2005-01-081-22/+22
| | | | | | | | | | Description: Solution: Platforms tested: Misc. update:
* [svn-r9759] Purpose:MuQun Yang2005-01-061-0/+545
To add n-bit implementation inside HDF5. Description: This check-in for implementation is for debugging purpose. N-bit filter should be used for the time being. Solution: Platforms tested: sol 2.7, Linux 2.4, Aix 5.1 Misc. update: