Commit Graph

202 Commits

Author SHA1 Message Date
Dennis Heimbigner
4e68a3b8d3 add some jna personal scripts 2014-03-29 13:35:52 -06:00
Ward Fisher
76e5e0f1fa Addressed several minor issues revealed by static analysis (coverity, clang). Mostly to do with extreme corner cases in which a null pointer would be dereferenced, or dereferencing a non-null (but non-initialized) pointer would result in garbage. 2014-03-28 17:11:26 -06:00
Quincey Koziol
4bfd9b27a0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	libdap2/common34.c
	oc2/ocutil.c
2014-02-11 17:26:09 -06:00
Quincey Koziol
b2dfacbcfa Big clean up to type handling in libsrc4, which makes fill-values work
correctly for variables with string datatype, plus a few other minor changes.
2014-02-11 17:12:08 -06:00
Ward Fisher
5600bd327e Updated CMake file. 2014-02-06 11:35:35 -07:00
Ward Fisher
7786b78cfc Reorganized Windows includes. 2014-02-04 11:10:27 -07:00
Ward Fisher
c1407c3239 Removed stray debugging message. 2014-02-03 14:42:56 -07:00
Quincey Koziol
cd71eb525c Corrected "BAIL" macros to avoid infinite loop when logging is disabled and an
error occurs after an "exit:" label.

Corrected a dozen Coverity errors (mainly allocation issues, along with a few
    other things):
        711711, 711802, 711803, 711905, 970825, 996123, 996124, 1025787,
        1047274, 1130013, 1130014, 1139538

Refactored internal fill-value code to correctly handle string types, and
    especially to allow NULL pointers and null strings (ie. "") to be
    distinguished.  The code now avoids partially aliasing the two together
    (which only happened on the 'write' side of things and wasn't reflected on
    the 'read' side, adding to the previous confusion).

    Probably still weak on handling fill-values of variable-length and compound
    datatypes.

Refactored the recursive metadata reads a bit more, to process HDF5 named
    datatypes and datasets immediately, avoiding chewing up memory for those
    types of objects, etc.

Finished uncommenting and updating the nc_test4/tst_fills2.c code (as I'm
    proceeding alphabetically through the nc_test4 code files).
2013-12-29 01:12:43 -06:00
dmh
582410a407 [NCF-273]/HZY-708311
Add a new function called nc_inq_format_extended that
returns more detailed format information (vis-a-vis
nc_inq_format) about an open dataset.

Note that the netcdf API will present the file as if it had
the format specified by nc_inq_format.  The true file
format, however, may not even be a netcdf file; it might be
DAP, HDF4, or PNETCDF, for example. This function returns
that true file type.  It also returns the effective mode for
the file.

signature: nc_inq_format_extended(int ncid, int* formatp, int* modep)
where
* ncid is the NetCDF ID from a previous call to nc_open() or
  nc_create().
* formatp is a pointer to a location for returned true format.
* modep is a pointer to a location for returned mode flags.

Refer to the actual list in the file netcdf.h to see the
currently defined set.

Also added test cases (tst_formatx*).
2013-12-22 12:53:20 -07:00
Ward Fisher
b3388178b4 Corrected a double-free issue reported by Coverity. 2013-12-17 15:54:14 -07:00
Quincey Koziol
b3044de434 Refactored read_scale(), memio_new(), var_create_dataset() and makespecial()
to clean up resources properly on failure.

Refactored doubly-linked list code for objects in the libsrc4 directory,
    cleaning up the add/del routines, breaking out the common next/prev
    pointers into a struct and extracting the add/del operations on them,
    changed the list of dims to add new dims in the same order as the other
    types, made all add routines able to optionally return a pointer to the
    newly created object.

Removed some dead code (pg_var(), nc4_pg_var1(), nc4_pg_varm(), misc. small
    routines, etc)

Fixed fill value handling for string types in nc4_get_vara().

Changed many malloc()+strcpy() pairs into calls to strdup().

Cleaned up misc. other minor Coverity issues.
2013-12-08 03:29:26 -06:00
Ward Fisher
5566cbb772 Added a check for _filelengthi64 in configuration. When found, this will be used instead of fstat when computing file length. 2013-11-04 12:58:33 -07:00
Ward Fisher
bda59030cb Replaced call to fstat with call to filelength, on apropriate system. 2013-11-01 16:30:33 -06:00
Ward Fisher
3a4d8252c3 Corrected an issue on OSX 'Mavericks'. 2013-10-21 17:39:13 -06:00
Ward Fisher
e636881aa7 Debugging an issue with LFS tests on Windows. 2013-09-03 14:22:55 -06:00
Ward Fisher
dae5e2f697 Added a short copyright message at head of a couple CMakeLists files; this will be propegated to the others.
Updated version in configure.ac to 4.3.1-rc2.
2013-08-15 09:43:59 -06:00
Ward Fisher
85465d8c10 Added stanza to only invoke m4 in non-MSVC environments. 2013-08-13 15:57:53 -06:00
Ward Fisher
43532c4193 Updated revision to rc2.
Refactored CMakeLists.txt in libsrc to generate, install netcdf.3 man page.
2013-08-13 15:42:45 -06:00
Ward Fisher
d91aa28110 Corrected a couple resource leak issues reported by Coverity static analysis. 2013-08-09 16:19:45 -06:00
Dennis Heimbigner
b85d3568ec Added the necessary code to support
group renaming. The primary API
is 'nc_rename_grp(int grpid, const char* name)'.
No test cases provided yet.
This also required adding a rename_grp entry
to the dispatch tables.
2013-07-19 21:48:37 +00:00
Ward Fisher
1c23ec06b8 Merging latest from netcdf-cmake branch. Includes a handful
of fixes for coverity-identified errors.
2013-07-19 21:32:27 +00:00
Ward Fisher
33d3d06971 Added initial 'make dist', 'make distcheck' support to
CMake-based builds.
2013-06-03 16:42:04 +00:00
Russ Rew
946a7ab8b5 Fix contributed by Nath Gopalaswamy to large file problem reading
netCDF classic or 64-bit offset files that have a UINT32_MAX flag for
large last record size of a variable that has values larger than 1
byte.  This problem had previously been fixed for *writing* such data,
but was only tested with an ncbyte variable.  Fixed test to
demonstrate problem and the fix.

More updates to chunking documentation, cosmetic fixes for some
"--option=" documentation that doxygen turns into mdash.
2013-05-31 20:18:18 +00:00
Ward Fisher
da16fc1cde Fixed an issue with Windows builds
not compiling due to how
ssize_t was being detected/defined.
2013-05-24 21:19:07 +00:00
Dennis Heimbigner
c659633d2e merge from trunk 2013-03-26 16:45:02 +00:00
Dennis Heimbigner
4b7817e69e Return EACCES instead of NC_EMETADATA when failing to create an HDF5 file 2013-03-26 16:31:56 +00:00
Ward Fisher
89ea9a4631 Added include for Windows in order to make use of alloca. 2013-03-25 21:02:11 +00:00
Dennis Heimbigner
9b4db7a039 Make some things static that do not need to be externally visible 2013-03-24 17:33:17 +00:00
Ward Fisher
f26a4a559a Merged latest from netcdf-cmake branch.
Addressed several cmake-related issues, in terms of
building on Windows.  Also added XGetopt.c to 
EXTRA_dist in Makefile.am files.
2013-03-19 22:40:15 +00:00
Dennis Heimbigner
dea3c726c8 merge trunk into this branch 2013-03-15 20:31:07 +00:00
Dennis Heimbigner
9eaac2a595 Apply Wei-Keng's fix
for JIRA issue NCF-241.
This is only temporary
until I can make pnetcdf
operate as a separate dispatch table.

Also, fix nc_test4/tst_pnetcdf
to open with nc_open_par;
this is necessary because a pnetcdf
created file cannot be opened
as a netcdf classic file.
2013-03-13 17:34:47 +00:00
Dennis Heimbigner
c18c90b012 removed some unused local variables 2013-03-12 20:45:58 +00:00
Ward Fisher
c23a97dd7f Fixed a windows-related issue (required malloc.h include),
update documentation related to netcdf for Windows.
2013-03-11 22:45:26 +00:00
Russ Rew
4b89b3c392 Applied Wei-keng Liao's patch for fixing bug NCF-234, fixing variable offsets in files created by pnetcdf but rewritten by calling nc_enddef. 2013-03-10 01:09:06 +00:00
Dennis Heimbigner
80cf3a2c75 fix typo in previous checkin 2013-03-08 18:27:45 +00:00
Dennis Heimbigner
841f7c7148 Move onstack.h from libsrc
to include because it is used
both in libsrc and libdispatch
2013-03-08 18:08:11 +00:00
Ward Fisher
0444a6c711 Fixed a couple of tests on Windows,
Fixed some compile errors on Windows.
2013-02-21 23:56:15 +00:00
Ward Fisher
ddf3c31bb0 Corrected a handful of syntax issues in CMake config files,
probably introduced more.  

Added CMake-related files to Makefile.am files for inclusion
when creating a distribution package.
2013-02-20 23:28:28 +00:00
Ward Fisher
21523c8582 Merged changes from cmake branch. oc2 changes are just
'file property' changes, not sure what exactly.
2012-12-20 21:50:45 +00:00
Dennis Heimbigner
5f2eb8afbf Fix a number of potential problems by changing calls to nc_XXX to NC3/4_XXX 2012-12-12 20:05:06 +00:00
Ward Fisher
81280c7878 Merge from latest netcdf-cmake branch.
- Fixes for Windows.
- CMake-based changes (functionality, tests).
- Smattering of coverity-informed bug-fixes.
2012-12-05 18:35:42 +00:00
Russ Rew
f8ec45d20d Fix NCF-209, bug causing netcdf-fortran build to get assertion violation in 'make check' 2012-12-03 21:15:30 +00:00
Dennis Heimbigner
a53682fc66 fix Jira NCF-207: double call to del_from_NCLIST 2012-11-21 17:52:49 +00:00
Ward Fisher
ff631c8156 Merged latest changes from cmake branch.
o Improved CMake support.
o Cmake module compatibility (netcdf-config*.cmake.in).
2012-11-19 21:43:12 +00:00
Ward Fisher
afa67452f6 Took some time to address a handful of errors identified by Coverity.
Primarily focused on memory errors falling into a couple different types:

1) Static overrun errors.
2) Dereference uninitialized memory errors.

make distcheck works after applying these fixes, and coverity no longer sees an issue, so hopefully they are properly resolved.
2012-11-14 18:24:45 +00:00
Ward Fisher
057701e1fa Added man pages to 'make install' 2012-10-17 21:14:30 +00:00
Ward Fisher
d0a665f83f Including .c files generated from .m4 to accomodate
Windows users (who generally will lack m4).  This policy
can be re-evaluated if need be.
2012-10-02 16:45:27 +00:00
Dennis Heimbigner
076e78e91c Fix Jira bug NC-198 2012-10-02 14:54:19 +00:00
Ward Fisher
cb10672d0d 2012-09-14 22:54:55 +00:00
Ward Fisher
1a72ec6adb 2012-09-14 21:38:46 +00:00
Ward Fisher
59af056da6 2012-09-14 16:15:18 +00:00
Ward Fisher
2de3388cf1 Additional CMake usage. 2012-09-13 18:27:23 +00:00
Ward Fisher
a83c1bd851 2012-09-12 20:18:48 +00:00
Ward Fisher
53843f134e 2012-09-10 22:37:38 +00:00
Ward Fisher
f820e5e5ee 2012-09-10 21:19:57 +00:00
Ward Fisher
54a3c8290a 2012-09-07 16:34:23 +00:00
Ward Fisher
776e179f23 Corrected CMakeList files. 2012-09-06 21:50:00 +00:00
Ward Fisher
e55d002dbc Merged Dennis' changes from trunk. 2012-09-06 21:15:37 +00:00
Dennis Heimbigner
5ca78309cc The effect of this change is to make the struct NC structure
contain as little file-type specific info as possible.  It
modifies especially libsrc so that all of the netcdf-3 data
that used to be in struct NC is now kept in a separate chunk
of data pointed to by the struct NC. This makes all of
current protocols consistent: netcdf-3, netcdf-4, and dap.
2012-09-06 19:44:03 +00:00
Ward Fisher
04e61d5894 Added MSVC-compatibility items. 2012-08-27 21:19:25 +00:00
Ward Fisher
d5d15cbdd1 Added a minor change from the trunk. 2012-08-24 18:42:40 +00:00
Ward Fisher
e8453be1e5 Merged from trunk into branch 2012-08-20 18:30:04 +00:00
Russ Rew
4d6f11288b Fix Coverity complaint about passing big parameter by value 2012-08-17 22:00:36 +00:00
Ward Fisher
c8febf92ed Modified related to m4 file conversion macro. 2012-08-13 16:10:36 +00:00
Ward Fisher
14619ec4c4 2012-08-09 18:40:41 +00:00
Ward Fisher
0607b62375 Added coverage test flags to CMakeLists.txt files. 2012-08-09 17:07:41 +00:00
Ward Fisher
0d90326575 Integrated latest changes to trunk, added preliminary CPack support. 2012-08-02 22:56:57 +00:00
Dennis Heimbigner
bc3a732e25 fix e-support YOP-841363 plus a number of coverity found bugs 2012-08-02 18:43:21 +00:00
Ward Fisher
111ea759e1 CMake Integration 2012-07-19 22:30:05 +00:00
Ward Fisher
86b9a01f2d Merged changes from trunk. 2012-07-19 21:38:43 +00:00
Ward Fisher
71075cee2e Additional changes in support of CMake. 2012-07-18 21:12:58 +00:00
Dennis Heimbigner
cd36ff7682 fix #elif problem 2012-07-18 16:14:08 +00:00
Dennis Heimbigner
8c01f7437f fixed valgrind error in tst_h_strings.c 2012-07-18 15:50:29 +00:00
Ward Fisher
d66293beca More changes in support of CMake support 2012-07-17 21:44:41 +00:00
Ward Fisher
2dc39563cc Changes in suport of CMake 2012-07-16 22:31:35 +00:00
Ward Fisher
ec4b3dd141 2012-07-13 16:49:20 +00:00
Ward Fisher
8f508bedba Updatec CMakeLists.txt 2012-07-13 16:37:14 +00:00
Ward Fisher
b2210e7166 Added missing CMakeLists.txt file. 2012-07-10 17:45:28 +00:00
Ward Fisher
75a48b9e9e Integrated changes from trunk, began adding CMake support, updated 'build everything' script. 2012-07-02 22:59:59 +00:00
Dennis Heimbigner
60b3f3b6f3 change file permissions for memio and mmapio 2012-06-28 17:12:02 +00:00
Russ Rew
3e37e69b8e Fixed ncdump to return failure status when unknown option specified.
Removed extra netcdf_par.h include file.
2012-06-27 15:03:19 +00:00
Dennis Heimbigner
a6b932826b add NC_MMAP flag and tests 2012-06-23 19:25:49 +00:00
Russ Rew
74f8a38e2a Test for macro definitions of LLONG_MAX, LLONG_MIN, ULONG_MAX in <limits.h> to fix portability problem. 2012-06-05 17:02:43 +00:00
Russ Rew
d6d38094c2 Cleaned up tst_atts3.c test program. Fixed several bugs in detection
of NC_ERANGE errors, especially with unsigned types, resolving most
NCF-172 issues and confusion between long and long long types in
llibsrc/ncx.m4.  Eliminated some unnecessary tests, e.g. tests
for negative values for unsigned types.
2012-05-31 01:28:42 +00:00
Russ Rew
1f4eeafcb9 Fixed doxygen installation guide source file to preserve line breaks
in code and scripts.

Fixed bug NCF-171: error reading external int into longlong or writing
from longlong array to external int on 32-bit platforms and classic
format files.

Promoted test demonstrating NCF-171 bug from longlong array from
"extra test" to "test".
2012-05-29 15:50:15 +00:00
Dennis Heimbigner
5b2aee44a7 windows support fixes plus add --disable-diskless 2012-05-15 17:48:27 +00:00
Dennis Heimbigner
14c3dae49e more win32 fixes 2012-05-15 03:47:52 +00:00
Dennis Heimbigner
4f68d6c5f8 win32/mingw fixes 2012-05-15 03:13:08 +00:00
Dennis Heimbigner
00e50f5a44 1. changed from using port 8080 to 8081 for motherlode
2. Fixed Ward's IGNORE problem with oc
3. Mmap support now works.
4. Fix an uninitialized variable pointed out by Russ in dnclog.c
2012-04-22 20:34:21 +00:00
Dennis Heimbigner
e29a6fb164 added list of configure flags to man4/install.doc 2012-04-13 02:41:00 +00:00
Dennis Heimbigner
353b7ebf53 fix bug in memio.c realloc code 2012-04-12 02:06:28 +00:00
Dennis Heimbigner
48ca394d2e diskless: make read and write loop to read/write whole file when persisting 2012-04-09 22:03:02 +00:00
Dennis Heimbigner
5536bccee1 allow NC_DISKLESS with nc_open() to operate as a in-memory cache 2012-04-08 22:47:38 +00:00
Russ Rew
8a9599c850 Merge my branch back into trunk! 2012-04-01 23:42:53 +00:00
Dennis Heimbigner
7a9802dc7c forgot to check the case when HAVE_MEMMOVE is false 2012-03-28 17:46:25 +00:00
Dennis Heimbigner
7e27052f87 - Implemented diskless files for both netcdf classic and extended.
The in-memory files can be made persistent if nc_create is called with
  NC_DISKLESS|NC_WRITE flags set. Initial test case also included.
- Modified ncio mechanism to support
  multiple ncio packages; this is so we
  can have posixio and memio operating
  at the same time.
- cleanup up a bunch of lint issues (unused variables, etc).
2012-03-26 01:34:32 +00:00
Dennis Heimbigner
25c3167841 ckp 2012-03-26 01:30:22 +00:00
Russ Rew
7592240cb1 recommit Khroulev fix I thought I committed in January 2012-03-20 19:06:08 +00:00
Dennis Heimbigner
99eef24bc2 - Fix NCF-158 to modify ncgen flag defaults.
- Fix NCF-157 to modify DAP code to support
  partial variable retrieval.
- Fix of NCF-154 to solve problem of ncgen
  improperly processing data lists for variables
  of size greater than 2**18 bytes.
- Fix ncgen processing of char variables that have
  multiple unlimited dimensions.
- Partly fix Jira issue: NCF-145 (vlen issues).
- Benchmark program nc_test4/tst_ar4_*) requires arguments
  and should only be invoked inside a shell
  script; fixed so that they terminate cleanly
  if invoked with no arguments.
- Fix the Doxygen processing so it will work
  with make distcheck.
- Begin switchover to using an alternative to ncio.
- Begin support for in-memory (diskless) files.
2012-03-14 23:26:48 +00:00
Dennis Heimbigner
3e592a2604 fix dap string handling 2012-02-03 21:31:50 +00:00