summaryrefslogtreecommitdiffstats
path: root/src/H5FDstdio.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r26003] merge 26002 from trunk:Mohamad Chaarawi2015-01-221-4/+0
| | | | | | move checks on reading/writing beyond file eoa outside of the file drivers and into a centralized place in H5FD_read/write. tested with h5commitest
* [svn-r23869] HDFFV-8302: replace (v)snprintf with _(v)snprintf for windows. ↵Allen Byrne2013-07-081-0/+4
| | | | | | | | Merge from trunk along with other windows functions and HD prefix corrections. HDFFV-8394: Add cmake code to package examples Tested: local linux
* [svn-r23321] Description:Quincey Koziol2013-02-271-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge r23313 from trunk to 1.8 branch: Bring changes from Coverity branch to the trunk: r20612: Changed string functions to versions with string length to fix coverity issues 922, 942 and 943. r20614: Use HDsnprintf. --gh r20675: Fix for coverity #1714 due to the fix for #810. Use HDfree() instead of H5MM_xfree(). r20678: Repaired coverity issue #598 -- failure to check return value from a call to fstat(), or to tidy up in the event of failure. r20679: Use HDstrncpy. --gh r20681: Use HDstrncat and HDstrncpy. --gh Tested on: Mac OSX/64 10.8.2 (amazon) w/debug, C++ & FORTRAN (too minor to require h5committest)
* [svn-r23239] Description:Quincey Koziol2013-02-091-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | Bring r23238 from trunk to 1.8 branch: Bring changes from Coverity branch to trunk: r20528: Purpose: Fix coverity issue 1372 Description: Rewrite file open secition of H5FD_stdio_open to avoid TOCTUO condition. No longer calls access, and uses a tentative open in "rb" or "rb+" mode to check for existence of the file. r20609: Use HDstrncpy and HDstrncat. --gh r20611: Use HDstrncpy. --gh Tested on: Mac OSX/64 10.8.2 (amazon) w/debug, C++ & FORTRAN (h5committest not required, already tested on branch)
* [svn-r22677] Changes needed to make the default free-list mapping from ↵Vailin Choi2012-08-141-1/+1
| | | | | | H5FD_FLMAP_SINGLE to H5FD_FLMAP_DICHOTOMY. Also changed H5O_copy_search_comm_dt_check() to use H5O_obj_class() to get object type instead of H5O_get_info(...TRUE...) saving time in traversing metadata.
* [svn-r22212] Brought r22211 from the trunkDana Robinson2012-03-301-330/+344
| | | | | | | | | | | STDIO VFD fixes (HDFFV-7917). Mainly Windows correctness issues (propagated from the SEC2 VFD and the old Windows VFD) and issues where large files are accessed. Tested on: 64-bit Mac OS-X 64-bit Windows 7 jam koala ostrich
* [svn-r22186] MinGW compile issues fixed.Allen Byrne2012-03-291-0/+6
| | | | Tested: windows (big test using stdio only fails - this will be filed for further investigation)
* [svn-r21376] JIRA-HDFFV-2748: Relplace WIN32 macros in source. New ↵Allen Byrne2011-09-121-218/+211
| | | | | | | | H5_HAVE_WIN32_API and H5_HAVE_VISUAL_STUDIO defines only need to be set on windows. Autotools configure is not affected. Trunk passed for a week and cmake branch has been in place > 3 weeks. Tested: local linux
* [svn-r19848] Bug 1917: big test failed especially in Widows.Albert Cheng2010-11-261-20/+0
| | | | | | | | | | | | | | big.c: Changed the test to run Huge Dataset (tens of GB), Xtra large dataset(4GB big), Large dataset (2GB big), or merely 1GB big, depending on if the file system supports sparse file or if it supports larger than 32bigs I/O. H5FDstdio.c: Removed an incorrect condition that whether STDIO VFD supports larger than 32bits I/O depends on the support of fseeko. Windows does not use that. Instead, it uses _fseeki64 to support larger than 32bits I/O. Tested: h5committest, jam (serial).
* [svn-r19194] Bug fix: ID 1917Albert Cheng2010-08-091-1/+1
| | | | | | Fixed a typo in the Windows definitions. Had __ftelli64, should be _ftelli64. Tested by Allen in Windows platform.
* [svn-r19187] Bug fix: ID 1917Albert Cheng2010-08-061-31/+43
| | | | | | | | | | | The STDIO only checked for fseeko and incorrectly assumed it can support file sizes larger than 32bits. Fixed it by making to use fseeko64 if supported, else use fseeko. To simplify the code, assume fseeko which is a POSIX function must be supported. Therefore, fseek is not used at all. (Note: the above applies to Unix-like system. The Windows platform has hardcoding using Windows functions which are NOT POSIX compliant.) Tested: h5committested. Also tested in BP (AIX) 32/64 and enable/disable-largefile.
* [svn-r18990] Put in the same fix for windows manifested from test/mf.c ↵Vailin Choi2010-06-111-0/+6
| | | | | | failures in the trunk. H5FD_stdio_truncate() windows code: need to do a rewind
* [svn-r18652] Description:Quincey Koziol2010-04-271-2/+2
| | | | | | | | | | | | Bring r18650 from trunk to 1.8 branch: Bring back various minor tweaks & cleanups from the revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode (h5committested on trunk)
* [svn-r18013] Description:Quincey Koziol2009-12-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18011 from trunk to 1.8 branch: Bring Coverity changes into the trunk: (also other minor cleanups) r17991: Fix Coverity items 175 and 176. Fixed memory leak on error in print_enum in H5LT.c. r17993: (r17992 was not a Coverity change) Close Coverity issue #206: inconsistently checking whether dt->shared was non-NULL after H5T_alloc() returned a valid 'dt' value (which should guarantee that dt->shared is valid). r17994: Fix Coverity item 149. Fixed file handle leak on error in H5FD_stdio_open. r17995: Fixed Coverity issues 154 to 161: Added H5MP_close routine to error handling in the event *mp has not been freed before error. r17996: Close Coverity issue #126: potentially leaking merged_spans on routine failure. r17997: Fix Coverity items 147 and 148. Fixed resource leaks on error in H5FDloc.c. r17998: Coverity issue 269-272: Added integer result variable to functions that could return negative. Assigned to unsigned after checking. Added H5E_BEGIN_TRY block around H5Tclose and removed H5E_THROW in the catch block. Checked buffer is NULL before free. Changed HGOTO_ERROR outside of the if block to H5E_THROW. r17999: Close Coverity issue #127: release temporary spans in more generic manner. (Also add error checking to previous fix) r18000: Resolved Coverity issues 211 and 212 in H5T.c. Added comments to ignore Coverity warning regarding not checking pointer for NULL, as we are using an assert which catches the issue. r18001: Fix Coverity item 146. Fixed resource leak on error in H5O_layout_copy. r18002: Fix Coverity items 143 and 145. Fixed resource leaks on error in H5D_compact_copy and H5D_contig_copy. r18003: Close Coverity issue #192: close file on error r18004: Fix Coverity issue #125: release temporary spans on error r18005: Resolved Coverity issues 5, 25, and 83 (in H5T.c): Separated embedded functions in order to check for NULL on return of H5I_object before passing into H5T_copy. Check to see if new_dt is NULL within error handling before dereferencing it. Ignore Coverity's dead code warnings as the checks that lead to the code are machine dependent. r18006: Coverity 63,70,73: Checked result of function before assigning to an unsigned variable. r18007: Coverity 78,79: added continue statement if H5Pget_filter2 returns negative. r18008: Fixed Coverity issue # 138: Added support in error handling to free dst pointer (if allocated) on error. r18009: Whitespace & coding style cleanup Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & production (h5committested on trunk)
* [svn-r17083] Description:Quincey Koziol2009-06-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Bring r17010,17017,17021-17022,17029-17031,17035 back from trunk: "temporary" file allocation space changes. 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/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.5.7 (amazon) in debug mode Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r16566] Description:Quincey Koziol2009-03-111-0/+2
| | | | | | | | Bring r16560 back from trunk. Tested on: Mac OS X/32 10.5.6 (amazon) debug & production (Following up with tests on more platforms)
* [svn-r15863] Description:Quincey Koziol2008-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | Bring r15861 back from trunk to 1.8 release branch. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (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/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 production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15801] Description:Quincey Koziol2008-10-071-23/+65
| | | | | | | | | | | | | | | | | | | | | | | Bring r15800 back from trunk: - File free space branch changes through r15794 Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (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/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 production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15629] Description:Quincey Koziol2008-09-161-3/+3
| | | | | | | | | | | | | 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-r15513] Description:Quincey Koziol2008-08-211-1/+1
| | | | | | | | | | Bring back r15510 & r15512 from trunk: Fix compiler warnings and formatting. Tested on: Mac OS X/32 10.5.4 (amazon) More tests upcoming
* [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not ↵Scott Wegner2007-05-181-12/+12
| | | | | | | WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform. Tested: Visual Studio (32- and 64-bit) on Win XP
* [svn-r13648] Description:Quincey Koziol2007-04-121-14/+14
| | | | | | | | | | 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-r13635] Description:Quincey Koziol2007-04-111-8/+12
| | | | | | | Clean up code and reduce compiler warnings... Tested on: Mac OS X/32 10.4.9 (amazon)
* [svn-r13594] Change a comment line. No test needed.Raymond Lu2007-04-051-1/+1
|
* [svn-r13590] Take out the unused header file errno.h.Raymond Lu2007-04-041-1/+0
|
* [svn-r13588] A support of files bigger than 2GB for STDIO driver. Configure ↵Raymond Lu2007-04-041-13/+89
| | | | | | | | will check if fseeko is available. Using it instead of fseek can support big files because the offset is of type off_t not long int. Also added the test for STDIO in big.c.
* [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-r13248] Description:Quincey Koziol2007-02-061-0/+6
| | | | | | | | | More progress on creation order for attribbutes - they are now basically working for "compact" attribute storage. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13139] Fixed the MULTI problem (Bug #731) that corrupted the data. ↵Raymond Lu2007-01-121-6/+13
| | | | | | | The problem came from the EOA for the whole MULTI file. It's taken out because it's meaningless for MULTI file. Instead, each individual file has its EOA.
* [svn-r12706] Description:Quincey Koziol2006-10-021-5/+5
| | | | | | | | | Clean up some of the warnings on 64-bit Linux... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Too minor to require h5committest
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-27/+27
| | | | | | | | | | | | | | | | | | | | 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-r10628] Purpose:Quincey Koziol2005-04-181-6/+6
| | | | | | | | | | | Code cleanup Description: Clean up various warnings reported by the Windows team. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10144] Purpose:Quincey Koziol2005-03-041-0/+1
| | | | | | | | | | | | | | | | Bug fix Description: The GASS VFL driver header file was bringing in the <string.h> header file, which several other source code modules needed also, but weren't including explicitly themselves. Solution: Add includes for <string.h> to files which actually need them. Platforms tested: FreeBSD 4.11 (sleipnir) w/C++ as CC Configuration not tested by h5committest...
* [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-r9183] Purpose: New featureRaymond Lu2004-09-011-60/+12
| | | | | | | | | | | | 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-r8981] Purpose:Quincey Koziol2004-08-021-1/+1
| | | | | | | | | | | | | Code cleanup Description: Various minor tweaks to clean code up and bring it into closer syncronization with the release branch. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel h5committested IRIX64 6.5 (modi4)
* [svn-r8134] Purpose:Quincey Koziol2004-01-311-0/+23
| | | | | | | | | | | | | | | | Code cleanup Description: Add destructor to match constructor fr VFLs when they are shut down by the library. Solution: Added H5FD_*_term() routines to "undo" changes made in H5FD_*_init() routines. Platforms tested: IBM p690 (copper) too minor to require h5committest
* [svn-r7507] *** empty log message ***Raymond Lu2003-09-241-1/+49
|
* [svn-r7411] Purpose:Quincey Koziol2003-08-261-93/+56
| | | | | | | | | | | Code cleanup Description: De-linted more modules Platforms tested: FreeBSD 4.8 (sleipnir) w/ & w/o stream enabled too minor to require h5committest
* [svn-r7299] Purpose:Quincey Koziol2003-08-081-26/+26
| | | | | | | | | | Code refactoring Description: Chase new error API usage by adding error class to calls to H5Epush(). Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-12/+12
|
* [svn-r6777] Purpose:MuQun Yang2003-04-291-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bug fix for windows. Description: Many tests failed on windows when stdio driver is on. I suspect it is the compiler bug. After some investigation, the symptom is: The signature of HDF5 file cannot be found. The real problem is the signature was appended at the end of the whole file instead of inserting at the starting of the file. It seems when the file pointer(signature) is reset to the starting of the file, windows mis-placed it to the end of the file after finding the file is close to the end. Solution: Fortuately, ftell and fseek still function well on windows, so I use ftell and fseek to force the file pointer to go to the position it is supposed to go. Platforms tested: since the only change in this file is within ifdef WIN32 macro; it won't affect the mainstream platforms, so I don't have to three platforms. Platforms to confirm(test with basic function): Linux 2.4 Platforms to throughly test: windows 2000 with VS6.0 test on three different Misc. update:
* [svn-r6707] Purpose:MuQun Yang2003-04-171-1/+2
| | | | | | | | | | | | | | | | | | | | A compiling error fixed for windows only Description: Use file handler instead of file stream at H5FDstdio.c when using getfileHandle function of windows. Solution: see above, however; stdio driver tests failed on windows. I am still investigating the bug. The current check will not fix the failure of stdio driver test on windows. The good news is that it won't affect the release since the default driver used for test is sec2 driver and all tests passed for sec2 driver on windows. Platforms tested: windows 2000 and confirmed at Linux. Since the only change is two-line code inside #ifdef WIN32 #endif macro block, it is not necessary to test all UNIX platforms. Still confirmed at eirene. Misc. update:
* [svn-r6689] Purpose:Quincey Koziol2003-04-161-15/+38
| | | | | | | | | | | | | | Bug fix. Description: The stdio filer driver is not reducing the file's size in the manner that the sec2 driver does. Solution: Copy code from the sec2 for handling this properly. Platforms tested: h5committested
* [svn-r6501] Purpose:Bill Wendling2003-03-191-4/+17
| | | | | | | | | | | | | | New Feature Description: Added support for the lock and unlock function calls for file drivers. Only FPHDF5 uses this feature. All of these drivers don't define lock or unlock methods. Platforms tested: Linux, Modi4, Sol Misc. update:
* [svn-r6398] Purpose:Quincey Koziol2003-02-121-0/+3
| | | | | | | | | | Code cleanup Description: Clean up some compiler warnings Platforms tested: FreeBSD 4.7 (sleipnir)
* [svn-r6387] Purpose:Quincey Koziol2003-02-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix Description: Metadata cache in parallel I/O can cause hangs in applications which perform independent I/O on chunked datasets, because the metadata cache can attempt to flush out dirty metadata from only a single process, instead of collectively from all processes. Solution: Pass a dataset transfer property list down from every API function which could possibly trigger metadata I/O. Then, split the metadata cache into two sets of entries to allow dirty metadata to be set aside when a hash table collision occurs during independent I/O. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir) serial & parallel Misc. update: Updated release_docs/RELEASE
* [svn-r5987] Purpose:Quincey Koziol2002-10-141-0/+3
| | | | | | | | | | | | | Code cleanup Description: Clean up compile warnings. Platforms tested: FreeBSD 4.6 (sleipnir) w and w/o parallel Linux 2.2.x (eirene) w/FORTRAN & C++ Solaris 2.7 (arabica) w/FORTRAN IRIX64 6.5 (modi4) w/FORTRAN & parallel
* [svn-r5951] Raymond Lu2002-09-301-0/+32
| | | | | | | | | | | Purpose: New API functions Description: Added API functions to return pointer to low-level file handle (H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list setting functions(H5Pset_family_offset and H5Pset_multi_type). Platforms tested: Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
* [svn-r5536] Purpose:Quincey Koziol2002-06-051-0/+1
| | | | | | | | | | | | | | | | | New feature. Description: Added a "small data" block allocation mechanism to the library, similar to the mechanism used for allocating metadata currently. See the RFC for more details: http://hdf.ncsa.uiuc.edu/RFC/SmallData/SmallData.html This reduces the number of I/O operations which hit the disk for my test program from 19 to 15 (i.e. from 393 to 15, overall). Platforms tested: Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++