Commit Graph

33 Commits

Author SHA1 Message Date
Dennis Heimbigner
8cb1fc4cfe This is the second step in refactoring the libsrc4 code.
The first was branch newhash0.dmh.

As with newhash0.dmh, these changes should be transparent.
2018-02-24 20:36:24 -07:00
Dennis Heimbigner
727b613459 This is the initial step in moving to the new higher performance
(I hope) metadata mechanism. This mostly just adds new pieces of
code (e.g. nclistmap) and does some minor fixes.

It should be transparent to everything else.
The next set of changes will be the big step.
2018-02-08 19:53:40 -07:00
Ward Fisher
8487a0a954
Merge branch 'master' into cdf5_var_len 2018-01-25 16:30:58 -07:00
Ed Hartnett
bcfce160fb fixed warning 2017-11-30 04:56:46 -07:00
Ward Fisher
e97911a592 Updated v1hpg.c to make header padding with null byte checks optional. 2017-11-20 16:08:06 -07:00
Wei-keng Liao
294c734f64 add NC_check_voffs() to check whether the file starting offsets (begin) of all variables follows the same increasing order as they were defined. 2017-09-15 14:48:53 -05:00
Wei-keng Liao
49226bb76b remove checking against UINT32_MAX 2017-09-11 19:13:13 -05:00
Wei-keng Liao
752f31a3d3 add handling for writing vsize to header for large variable sizes, following the CDF format specification 2017-09-07 16:56:42 -05:00
Lars Pastewka
bd33076424 Fixed computation of recsize for NC_64BIT_DATA files. 2017-08-09 21:47:08 +02:00
Ward Fisher
051bd3b81a Merge branch 'master' into open_check_vlens 2017-05-05 17:02:36 -06:00
Wei-keng Liao
68a57832d6 enable nc_open to check the number of large variables allowed in CDF-1 and CDF-2 files 2017-04-03 22:07:36 -05:00
Wei-keng Liao
08aef9af5d remove special treatments for arm architecture 2017-03-11 13:33:58 -06:00
Wei-keng Liao
7aa8fc36c7 include config.h the way suggested by autoconf 2017-03-11 13:03:17 -06:00
Ward Fisher
fe17747261 Corrected missing endif stanza. 2017-02-03 11:29:59 -07:00
Ward Fisher
7edb08977a Added platform checks for ARM. 2017-02-03 11:19:39 -07:00
Wei-keng Liao
340f0d2a91 Classic Format Specification says: Header padding uses null (\x00) bytes 2016-11-28 11:54:16 -06:00
Wei-keng Liao
309303e34e remove argument fillv for get APIs as we use default fill values for fillv 2016-10-28 10:34:51 -05:00
Wei-keng Liao
7fbde1b5bc add a new option ERANGE_FILL to use fill values when NC_ERANGE occurs; sync ncx.m4 with PnetCDF 2016-10-25 15:09:52 -05:00
Wei-keng Liao
dbb9be59d2 temporally disable __arm__ for testing 2016-10-09 22:21:32 -05:00
Wei-keng Liao
1f32277afb use ncx_get_uint32 instead of ncx_get_int_int 2016-10-06 00:43:40 -05:00
Greg Sjaardema
1f9eb8093c Fix duplicate key issues in nc_hashmap
The addition of the nc_hashmap to facilitate quick
retrieval of var and dim by name did not take into
account key collisions -- two or more names hashed
to the same value.  If the keys matched, it assumed
that the names matched also.

This change fixes this incorrect assumption and
checks both the key (which is the hash of the name)
and if the keys match, it also checks that the names
match.

While there have been no instances of duplicate keys,
they are certain to occur and cause difficult to
debug issues. This fix eliminates that defect.
2016-04-05 09:07:40 -06:00
Greg Sjaardema
362e28948d Add hashmap for quick retrieval of dim and var 2016-03-22 07:29:00 -06: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
bd92caa176 More changes towards fixing the issue where the file is read incorrectly. 2015-12-28 17:36:05 +00:00
dmh
859f105005 merge-squash 2015-08-15 16:26:35 -06:00
Russ Rew
4a90e9a888 Change assertions that indicate file corruption into error status return. 2014-04-16 08:04:00 -06: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
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
Russ Rew
8a9599c850 Merge my branch back into trunk! 2012-04-01 23:42:53 +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
b2c05fa4d0 fixed:
ncgen: nan bug
       made semicolons optional after type decls
libncdap{3,4}: revamped the NC surrogate to better match
       with libsrc
libdispatch: Added a new_nc function to the dispatch table; its purpose
                 is to allow hierarchical use of NC compatible data structures.
libsrc: cleaned up the NC structure by removing drno field
general: removed --with-oc options
2010-11-09 22:53:03 +00:00
Dennis Heimbigner
c5cb1104b7 removed USE_DISPATCH and most uses of nc3 from libsrc4 2010-07-30 19:20:22 +00:00
Ed Hartnett
18f4bca367 moving to trunk subdir 2010-06-03 13:24:43 +00:00