Commit Graph

3426 Commits

Author SHA1 Message Date
Greg Sjaardema
a248e0dfbe Free hashmap to eliminate memory leaks 2016-03-24 06:38:45 -06:00
Greg Sjaardema
d5cb4b9e3e Add hashmap for quick retrieval of dim and var 2016-03-24 06:38:45 -06:00
Ward Fisher
2f9c4f85b7 Merge branch 'working' 2016-03-23 17:06:28 -06:00
Ward Fisher
69911758a9 Made a small change to ifFail to accomodate PGI compilers. 2016-03-23 16:48:15 -06:00
Ward Fisher
eeea5969bd Merge branch 'patch-12' of https://github.com/gsjaardema/netcdf-c into gh232 2016-03-22 15:34:03 -06:00
Ward Fisher
f5414bfee2 Merge pull request #237 from Unidata/issue236
ncdump can generate nul characters &#0 ; when dumping ncml using -x.
2016-03-22 09:47:56 -07:00
Greg Sjaardema
3bb86e417d Update var.c 2016-03-22 07:52:41 -06:00
Greg Sjaardema
362e28948d Add hashmap for quick retrieval of dim and var 2016-03-22 07:29:00 -06:00
Greg Sjaardema
c6e666a864 Merge branch 'master' of https://github.com/Unidata/netcdf-c into upstream 2016-03-21 14:52:24 -06:00
Dennis Heimbigner
2bff7305ba Merge branch 'master' into issue236 2016-03-18 15:36:47 -06:00
Dennis Heimbigner
5a1ca24fd6 Fix github issue: https://github.com/Unidata/netcdf-c/issues/236
If a char valued attribute contains embedded nul characters,
then illegal xml will be generated when using the -x (ncml) flag.

There is not good solution since we have a char value '\0' that
is legal in a netcdf-c char valued attribute, but is completely
illegal in ncml (i.e. xml).

So, implemented hack is to go ahead and generate '�' entities
and then complain that we are generating illegal ncml.
2016-03-17 22:05:46 -06:00
Ward Fisher
fc9ad03f67 Merge branch 'coverity', wherein several bugs are fixed which had been
detected via static analysis.
2016-03-11 11:22:14 -07:00
Ward Fisher
78b43dbfdb Addressed a memory leak identified by Coverity. See Coverity #1256386 2016-03-11 11:03:01 -07:00
Ward Fisher
41282c42d5 Merge branch 'master' into coverity 2016-03-11 10:32:39 -07:00
Ward Fisher
d32e4355ba Merge branch 'gh235' 2016-03-10 12:21:03 -07:00
Ward Fisher
e1fb460935 Added a reference to https://github.com/Unidata/netcdf-c/pull/235 in release notes. 2016-03-10 11:20:42 -07:00
Peter Hill
3c7109dd59 Use cmake libdir, includedir variables in nc-config 2016-03-10 16:13:29 +00:00
Ward Fisher
f12daedeb3 Corrected a coverity issue with a potential negative argument. Coverity 711780 2016-03-08 13:48:30 -07:00
Greg Sjaardema
1dda09655a Add missing function prototype for hash_fast 2016-03-08 09:41:24 -07:00
Ward Fisher
00d7881b34 Updated release notes. 2016-03-07 15:35:35 -07:00
Ward Fisher
719ddac946 Adding cmake infrastructure in support of https://github.com/Unidata/netcdf-c/issues/228 2016-03-07 14:04:52 -07:00
Ward Fisher
b74b299618 Updated release notes with information related to https://github.com/Unidata/netcdf-c/issues/213 2016-03-07 10:59:24 -07:00
Ward Fisher
fb2ff0c24b Refactored old ENOERR code into NC_NOERR error code in libsrc. This is done in support of https://github.com/Unidata/netcdf-c/issues/213. 2016-03-07 10:58:02 -07:00
Ward Fisher
e10ad6bed8 Removing duplicated errors, in support of https://github.com/Unidata/netcdf-c/issues/213 2016-03-07 10:48:04 -07:00
Greg Sjaardema
cc999713c4 Use dim field of var instead of finding dim from var->dimids.
The var struct has a 'dim' field which was not being used
Instead, the dimids field would always search for the dim
with the matching dimid.  For db with large numbers of dims,
this could be a significant time sync.

Modified code to always set var-dim[i] when var->dimids[i] was
set (if the dim existed at that point).  Then use the var->dim
field instead of var->dimids and search whenever requested.

All var->dim accesses are protected by asserts that verify
non-null and that the var->dim[]->dimid == var->dimids[].
2016-03-05 17:24:07 -07:00
Ward Fisher
0bb9856880 Merge branch 'upstream' of https://github.com/gsjaardema/netcdf-c into gs-pulls 2016-03-04 14:58:10 -07:00
Ward Fisher
f84a9d58ea Merge branch 'netcdf4-hash' of https://github.com/gsjaardema/netcdf-c into gs-pulls 2016-03-04 14:55:34 -07:00
Ward Fisher
232424c6fb Merged from master in preparation for fixing https://github.com/Unidata/netcdf-c/issues/188 2016-03-04 10:52:10 -07:00
Greg Sjaardema
4ccebf25b5 Use dim field of var instead of finding dim from var->dimids.
The var struct has a 'dim' field which was not being used
Instead, the dimids field would always search for the dim
with the matching dimid.  For db with large numbers of dims,
this could be a significant time sync.

Modified code to always set var-dim[i] when var->dimids[i] was
set (if the dim existed at that point).  Then use the var->dim
field instead of var->dimids and search whenever requested.

All var->dim accesses are protected by asserts that verify
non-null and that the var->dim[]->dimid == var->dimids[].
2016-03-04 10:45:36 -07:00
Ward Fisher
41b98e8723 Updated RELEASE_NOTES in preparation to merge gh188 into master, in support of https://github.com/Unidata/netcdf-c/issues/188 2016-03-03 22:03:23 -07:00
Greg Sjaardema
1a84a6a99e Add hash field to dim and var to facilitate fast name compare
In non-classic netcdf-4 models, it is allowable to have
large numbers of dims and vars.  In many operations, the
entire list of dims or vars is searched for a dim/var matching
a specific name which results in *lots* of strncmp or strcmp
calls.

If we add a hash field to the var and dim structs similar to what
has already been done for the netcdf-3 formats, then we can hash the
name being searched for and numerically compare that value with
the var/dim hash value.  If they match, then do a more expensive
strncmp call to ensure that the names truly match.
2016-03-03 13:18:31 -07:00
Greg Sjaardema
ba06e979c6 Merge remote-tracking branch 'upstream/master' 2016-03-03 13:03:39 -07:00
Ward Fisher
b19b807e8b Working around a couple of problematic calls to fstat in support of https://github.com/Unidata/netcdf-c/issues/188 . No idea why these were a problem in VS14 (Visual Studio 2015) and not in VS12 (Visual Studio 2013). It's possible there are other, similar issues out there. We'll see what turns up when we run all the tests. These changes were tested against nc_test4/tst_large2.c 2016-03-02 13:03:29 -07:00
Ward Fisher
a81f150e88 Modified fstat call in fgrow2 to use filelengthi64 on Windows, where available. 2016-03-02 10:51:11 -07:00
Ward Fisher
fbdea5c4a0 Working in support of https://github.com/Unidata/netcdf-c/issues/188 . Exploratory work. 2016-02-29 15:08:09 -07:00
Ward Fisher
e77565b2a1 Merge branch 'logging' 2016-02-29 14:44:23 -07:00
Ward Fisher
e820fe387e Updated release notes. 2016-02-29 12:39:40 -07:00
Ward Fisher
a841f9dd7f Merge branch 'logging' 2016-02-29 12:34:18 -07:00
Ward Fisher
2206527ba5 Wired logging status into nc-config generated by cmake. 2016-02-29 11:32:26 -07:00
Ward Fisher
6f06fb71da Modified nc-config to reflect value of --has-f03 when netcdf-fortran is found, and also added '--enable-logging' to determine if netcdf-c was built with logging enabled. 2016-02-29 11:24:46 -07:00
Ward Fisher
e4ee2add6b Modified nc-config to reflect value of --has-f03 when netcdf-fortran is found, and also added '--enable-logging' to determine if netcdf-c was built with logging enabled. 2016-02-29 11:22:10 -07:00
Ward Fisher
d813448e2b Put CONTRIBUTING.md back in top level of repository. 2016-02-24 10:55:56 -07:00
Ward Fisher
e1cfa5aca1 Added a roughed-in issue template. 2016-02-24 10:55:12 -07:00
Ward Fisher
fb53bbb108 Moved CONTRIBUTING.md into .github directory. 2016-02-24 10:31:21 -07:00
Ward Fisher
08e49122d0 Merge branch 'patch-11' of https://github.com/gsjaardema/netcdf-c into merge 2016-02-23 16:33:23 -07:00
Ward Fisher
c08ae9b7b6 Merge branch 'patch-10' of https://github.com/gsjaardema/netcdf-c into merge 2016-02-23 16:32:59 -07:00
Ward Fisher
da71134c8a Updated release notes. 2016-02-23 19:10:57 +00:00
Ward Fisher
1c1141d43e Added missing install for cmake-based builds, netcdf_mem.h. Also, moved install directives for header files into include/CMakeLists.txt. This is in support of https://github.com/Unidata/netcdf-c/issues/227 2016-02-23 18:12:16 +00:00
Greg Sjaardema
71af39c8b3 Fix HDF5 library order -- static build
When using static libraries, some systems require that the libraries be ordered in dependency order.  Since libhdf5_hl.a depends on symbols from libhdf5.a, it (libhdf5_hl.a) should be listed first.  This was discovered and verified on RHEL-6 with gcc-5.2.0.
2016-02-22 11:06:23 -07:00
Greg Sjaardema
2da555a2d5 Fix setting of HDF5 include directory path when explicitly specified
The HDF5 include directory needs to be updated when explicitly setting the HDF5 libraries and include path.  This is done on line 561 when FindPackage finds the hdf5 libraries, but was not being done in the manual setting.
2016-02-22 10:54:37 -07:00