Commit Graph

49 Commits

Author SHA1 Message Date
Dana Robinson
651c2f3030 Fix bad implementation of Windows nanosleep equivalent. 2016-12-12 14:16:07 -05:00
derobins
0c5f56a865 Added Windows-only versions of the round() functions, which do not
exist in VS2012 and earlier.

Tested on: 32-bit Windows 7 w/ VS2012 Pro
2016-12-02 00:51:07 -05:00
Quincey Koziol
3b0c2b24da Bring over support for retrying metadata cache entry loads, along with all the
supporting metadata cache callback changes, etc.
2016-11-20 04:24:57 -08:00
Quincey Koziol
bb6cb6adb0 Code style and warning cleanups, from revise_chunks branch. 2016-11-06 12:08:19 -08:00
Quincey Koziol
bb19817c9f [svn-r30189] Description:
Clean up more warnings: drop the warning count from ~1310 down to ~940,
with only 31 types of warnings in 148 files (down from 38 types in 167 files).

Tested on:
    MacOSX/64 10.11.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-07-17 19:18:42 -05:00
Dana Robinson
7f641b520d [svn-r29482] Switched a few Visual Studio #ifdefs to Win32
Tested on 64-bit Win10 w/ VS 2015 Pro
2016-03-21 11:36:23 -05:00
Dana Robinson
19a8216bd5 [svn-r29182] Re-commit of HDFFV-8740 fix, which adds the ability to configure
external dataset storage path behavior.

This check-in fixes a bug in the original check-in where the
external path stored in the file struct was not copied on reopen
causing subsequent dataset operations to fail.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools serial w/ fortran and C++
           autotools parallel (MPICH 3.1.4) w/ fortran
2016-02-22 16:40:03 -05:00
Dana Robinson
5655e5a91a [svn-r29084] Revert of:
r29069 and 72 (gheap cleanup)

r29041 and 43 (HDFFV-8740 external storage)

These cause problems in the daily tests. They will be
re-introduced when their respective problems have been
addressed.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools serial (check-vfd) w/ Fortran and C++
           autotools parallel w/ Fortran
           CMake serial
2016-02-10 23:40:10 -05:00
Dana Robinson
57da3b7db6 [svn-r29043] Fixes to make relative external storage work on Windows. Part of HDFFV-8740.
- Fixed typo in Wsetenv().
- Changed HDoff_t back to off_t in test/external.c. The function signature is off_t so the types must match or you can get conversion errors.

Tested on 64-bit Windows 10 w/ VS 2015
2016-02-04 11:06:38 -05:00
Dana Robinson
c746447b0d [svn-r29041] Patch from Steffen Kiess that allows a relative path to be specified
for external dataset files set via H5Pset_external().

Resolves HDFFV-8740

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools serial
2016-02-04 10:35:17 -05:00
Dana Robinson
f53c939bd0 [svn-r28581] Brought flock changes over from revise_chunks as well as a few
minor tweaks from H5private.h.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only, autotools and CMake (3.3.2)
2015-12-11 03:19:10 -05:00
Quincey Koziol
8830acb2cb [svn-r28422] Description:
Revert most of r27549, since revise_chunks code requires debugging contexts
for v2 B-trees.  Also, misc. warning cleanups and alignments w/changes on
revise_chunks branch.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-11-20 15:24:23 -05:00
Quincey Koziol
5c6f1819d5 [svn-r28416] Description:
Refactor time conversion code to put all the system-specific changes into
one routine, H5_make_time, in H5system.c.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-11-20 09:43:58 -05:00
Allen Byrne
3537b69b5b [svn-r28236] Rework get timezone function to add another exclusion define (H5_HAVA_TM_GMTOFF).
Also needed to add prototype - followed lead of HDrand.
Tested linux and windows
2015-10-27 10:22:09 -05:00
Dana Robinson
8e179b17aa [svn-r28234] Changed a C++-style comment to C-style. 2015-10-27 08:46:50 -05:00
Allen Byrne
b7310b0d1f [svn-r28229] HDFFV-9550: Rework timezone usage to localize the #ifdef blocks to a HDget_timezone function. 2015-10-26 15:40:30 -05:00
Dana Robinson
2e6100fb23 [svn-r27572] Removed VMS-specific code from the library.
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.

Tested on: h5committest
2015-08-24 15:19:39 -05:00
Dana Robinson
7659506fa8 [svn-r26438] Fixed some double promotion warnings from gcc 4.9.2. Most were in
format strings.

Tested on: h5committest
2015-03-11 17:51:14 -05:00
Quincey Koziol
1e36b5a348 [svn-r24726] Description:
Revert some earlier usage of strncpy, which was incorrect.

    Bring Coverity changes from branch back to trunk:

r20821:
    Use HDstrncpy. --gh
    (Fixed already, with strdup)

r20822:
    (Not merged, incorrect use of HDstrncpy())

r20823:
    (Not merged, incorrect use of HDstrncpy())

r20824:
    Maintenance: Bug fix: addressed CID 666.
    Value stored at *expression_len should be used in the call to
        HD5packFstring to avoid overflow (and unnecessary arithmetic
        calculation and casting) 

r20825:
    Issue 642: Added check for error and handler with print to stderr and exit.

r20826:
    Undo revision 20818, as that issue has already been fixed in the 1.8 branch
        and trunk (but not coverity branch)

r20827:
    (Not merged, incorrect use of HDstrncpy())
    
r20828:
    Use HDstrncpy. --gh
    (Corrected use of strncpy())

r20829:
    Check return of H5Lget_val(print_udata->fid, path, targbuf,
        linfo->u.val_size + 1, H5P_DEFAULT) and if error set trgbuf[0] to 0.
        Check if  H5Lunpack_elink_val(targbuf, linfo->u.val_size, NULL,
        &filename, &objname) was successful and allow print. Otherwise filename
        and objname are not created. (init those to NULL)

r20830:
    resolved coverity issues 939, 940, 941, 944, and 947.

    all were complaints about use of sprintf, and in all cases, the
    buffers used were large enough for all eventualities.

    Resolved issue by replacing calls to sprintf with calls
    to snprintf.

r20831:
    Maintenance: Addressed CID 852
    Replaced sprintf with snprintf

r20832:
    Purpose: Fix valgrind issues with hl/examples/ex_image2

    Description:
    Modified hl/examples/ex_image2 to free global "gbuf" before exit.

Tested on:
    Mac OSX/64 10.9.1 (amaon) w/C++, FORTRAN & Threadsafety
    (too minor to require h5committest)
2014-02-20 16:29:26 -05:00
Larry Knox
06aa7b6641 [svn-r24285] Eliminate several "passing argument ... with different width due to prototype" warnings by casting constants to size_t where expected by string functions.
Tested on jam, koala,ostrich and platypus with h5committest.
2013-10-10 16:57:04 -05:00
Quincey Koziol
25fe312b3c [svn-r23889] Description:
Merge changes from Coverity branch to trunk:

r20768:
Switch to snprintf, HDstrncat, HDstrncpy to address coverity issue 832.

r20812:
Use HDstrncpy. --gh

Tested on:
    Mac OSX/64 10.8.4 (amazon) w/debug
    Linux/32 2.4 (jam) w/debug
2013-07-11 17:33:35 -05:00
Mohamad Chaarawi
dfcb3cebf1 [svn-r23862] Change printfs in perform output and h5dump to prevent overflow.
This fixes: https://jira.hdfgroup.uiuc.edu/browse/HDFFV-8450

Tested on Jam.
2013-07-03 11:12:32 -05:00
Allen Byrne
53afd20aeb [svn-r23854] HDFFV-8302: Add macros/code function to use coorect Windows (v)snprintf statement. Also fix use other uses of macros for windows.
Tested
2013-07-01 09:23:04 -05:00
Quincey Koziol
424a41f878 [svn-r23713] Description:
Clean up warnings, switch library code to use Standard C/POSIX wrapper
macros, remove internal calls to API routines, update checkapi and checkposix
scripts.

Tested on:
    Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN
    Big-Endian Linux/64 (ostrich)
2013-05-21 12:30:54 -05:00
Quincey Koziol
0fc1c9c519 [svn-r23313] Description:
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, etc.
    (too minor to require h5committest)
2013-02-25 09:48:42 -05:00
Quincey Koziol
a3e98d0e36 [svn-r23219] Description:
Bring reviewed changes from Coverity branch back to trunk (QK & JK):

r20457:
Coverity issue 691: return of H5duo could be negative. Fixed by using
STDOUT_FILENO and redesign parse_command_line and main to cleanup file
allocations. The output_file var is null when using stdout. In cleanup do not
close output_file if NULL.

r20510:
Initialize ufid = -1 and predicate HDclose call on ufid != -1

r20511:
Purpose: Fix coverity issue 1715

Description: Free "file" and nested data on failure in H5FD_core_open.

r20512:
Initialize ifid = -1 and predicate HDclose call on ifid != -1

r20514:
Initialize h5fid = -1 and predicate HDclose call on h5fid != -1

r20516:
Added else branch to the if (ret_value < 0) check.

r20522:
Addressed coverity issues 930-933, 850, 836, 835, 1307.  All minor 
potential buffer overwrite bugs, or coverity errors.  Fixed by replacing
strcpy and sprintf with strncpy and snprintf.

r20523:
fixed coverity issues 68, 1120, 1116i

r20524:
Check  H5Z_SZIP->encoder_present < 1 assuming 0 represents absence.

r20601:
Purpose: Fix coverity issues 1703-1705

Description: Modified the cleanup code in test_free in accum.c to reset
allocated buffers to NULL after they are freed, and modified the error cleanup
code to check if these buffers are NULL before freeing them.  Also fixed some
unrelated warnings in accum.c.

r20602:
Use HDsnprintf and HDstrncat

r20603:
Purpose: Fix coverity issues 808-809

Description: Modified test_core in vfd.c to check the returns from malloc, and
keep track of whether points and check are allocated by setting them to NULL
when they are not.  Added code to free points and check on error if they are
not NULL.  Also fixed unrelated warnings in vfd.c.

r20604:
Use HDstrncpy.

r20605:
Use HDstrncpy and HDstrncat.

r20606:
Purpose: Fix coverity issue 807

Description: Modified long_compact in stab.c to keep track of whether objname is
allocated by setting it to NULL when it is not.  Added code to free objname on
error if it is not NULL.

r20607:
Changed string function calls to use versions that specify the string length
to fix coverity issues 832 and 839.


Tested on:
    Mac OSX/64 10.8.2 (amazon)
    (Too minor to require h5committest)
2013-02-01 20:53:32 -05:00
Allen Byrne
75f3194882 [svn-r22450] Update winsock define to match autotools configure check 2012-06-11 10:49:25 -05:00
Quincey Koziol
9c9ee2008c [svn-r21919] Description:
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
2012-02-08 22:13:27 -05:00
Allen Byrne
2457d8ecaf [svn-r21366] JIRA HDFFV-2748 replace use of _WIN32 in source. Created new defines H5_HAVE_WIN32_API and H5_HAVE_VISUAL_STUDIO defines to use. These can be properly set during configurration.
Tested: windows and local linux - reviewed internally
2011-09-06 11:50:32 -05:00
Allen Byrne
8d80bf4a93 [svn-r21228] Added #ifdefs around #include unistd.h and created windows getlogin() function for building HDF5 parallel on windows.
Reviewed and tested locally and tested by user.
2011-08-15 09:06:53 -05:00
Dana Robinson
9978868c11 [svn-r20499] Fixes erroneous H5_HAVE_GETTIMEOFDAY behavior on Windows (JIRA HDFFV-5931). Previously, H5_HAVE_GETTIMEOFDAY was never properly defined. The timezone struct and Wgettimeofday() timezone output was also added.
This is a merge of several changesets from the log_vfd branch where this work took place: 20355, 20359, 20411, 20413, 20431, 20460

Tested on: Windows
2011-04-14 14:33:15 -05:00
Allen Byrne
f960ff573e [svn-r20312] Change incorrect use of "struct stat" to use "h5_stat_t".
Also removed includes from top of file - they are included with proper config checks in h5private.h.
Changed name of Windows only gettimeofday function to avoid a define loop according to VS2008

Tested: local linux, windows
2011-03-24 12:21:42 -05:00
Quincey Koziol
edf124f40b [svn-r18616] Description:
Clean up compiler warnings.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-04-22 14:56:03 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -05:00
Quincey Koziol
1bc79f977b [svn-r17939] Description:
Handle external links from symlinked files by adding another check to
look for "child" files for links from the actual location of the "parent" file,
instead of from the location of the symlink.

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
2009-12-01 08:39:05 -05:00
Allen Byrne
d2ef2af9b2 [svn-r16969] Updated perf_serial test to work on windows.
Tested:
Windows and h5committest
2009-05-21 10:40:03 -05:00
Raymond Lu
ea92781324 [svn-r16316] Added support for OpenVMS pathname for external links.
Tested on jam.  Tested v1.8 on OpenVMS.
2009-01-14 15:41:17 -05:00
Vailin Choi
3d008d3756 [svn-r15762] Changes for bug #1247 so that the user can specify the driver
to use when opening the external linked target file.
1. Two new public routines are added to H5Plapl.c as well as
"del/copy/close" callbacks for the property itself.
2. Modify H5L_extern_traverse() to use the fapl set via 
H5Pset_elink_fapl() and retrieve via H5Pget_elink_fapl().
3. Add 3 tests to links.c to verify H5Pset/get_elink_fapl().

Also fix the compiler warning for the "if condition" in 
H5_build_extpath() of H5system.c.
2008-10-02 22:54:23 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
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...
2008-09-16 10:52:51 -05:00
Quincey Koziol
97b6832023 [svn-r15211] Description:
Update the gcc flags for version 4.3

	Clean up warnings

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
2008-06-12 23:52:22 -05:00
Scot Breitenfeld
aec106e324 [svn-r14903] Undoing change committed in r14902. 2008-04-30 14:51:13 -05:00
Scot Breitenfeld
5773fd34bc [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. New fortran wrappers added. 2008-04-30 14:23:26 -05:00
Vailin Choi
5ad99f2c31 [svn-r14794] Use putenv() instead of setenv() in test/links.c
(solaris did not support setenv() and unsetenv())
2008-04-03 23:16:53 -05:00
Vailin Choi
04c174bde0 [svn-r14789] Add handling for external link:
1. src/H5F.c, src/H5system.c: formulate path for mainfile
2. src/H5Lexternal.c: add search for target file
3. configure.in: add H5_HAVE_WINDOW_PATH
4. test/links.c: add tests for external link
2008-04-02 13:29:17 -05:00
Elena Pourmal
ec41266585 [svn-r13442] H5system.c file didn't include H5MMprivate.h; that caused warnings on VMS; fixed
tfilter.cpp compilation failed on VMS; fixed by casting filter_bogus to (H5Z_func_t)

Platforms tested:
	kagiso, VMS server
2007-03-02 09:21:36 -05:00
Elena Pourmal
78e348bf9c [svn-r13434] Used const char * instead of char pointer for HDremove_all function that is used
on VMS. This should fix C++ compilation failures on VMS.

Platforms tested:
	kagiso, VMS is stilll going on.
2007-02-28 17:14:18 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG 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.
2007-02-07 09:56:24 -05:00
Elena Pourmal
5afc64f31b [svn-r12648] Description:
This is VMS problem only.

  H5Dremove_all function was modified to use HDremove. Since HDremove
  is defined as HDremove_all in H5private.h, function became recursive causing
  all kinds of resource problems.

Solution:
  Use "remove" instead.

Platforms tested:
  VMS server
2006-09-05 17:07:26 -05:00
Quincey Koziol
5fe34046c0 [svn-r12605] Description:
Break out a bunch of the misc. routines that were in src/H5.c into more
specific modules.

    Add optimized fletcher32 checksum routine, for checksumming metadata as
well as raw data.

Tested On:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    Will test further after checkin...
2006-08-21 18:27:11 -05:00