a global attribute whose type is an enum.
Turns out this case fails because of an
oversight in ncgen.
This pr fixes that problem (in semantics.c).
Also added test case .cdl file: tst_gattenum.cdl
Github issue https://github.com/Unidata/netcdf-c/issues/152
requested that "orphaned" DAS attributes be included in the netcdf
metadata as global variables. The term orphaned here meant that
they were not connected to any variable in the DDS.
This was done in pull request https://github.com/Unidata/netcdf-c/pull/164
However, some servers (e.g. Thredds) include attributes for variables not
specified in a constraint expression, but which exist in the full DDS.
So I was adding these to the set of global attributes, but in retrospect
this should not have been done: they should have been elided.
Solution: modify oc2 code to be more distriminatory about
which orphaned attributes to include.
The nvars, ndims, and natts fields on the NC_HDF5_FILE_INFO struct are
never set. The nvars field is read, but since it is never written,
the value is always zero.
is somehow in interference with something
in the HDF4 code. So, I changed
the OPAQUE -> OPAQUE_ and that appears
to fix the problem with bison when HDF4
is enabled.
ps. when Visual Studio complained about token
'constant' it turn out that it mean token type,
not the actual token named 'constant'. Instead
the actual token that was causing the problem
was 'OPAQUE'.
re: https://github.com/Unidata/netcdf-c/issues/365
1. Added to RELEASENOTES.md
2. Add a range check to more closely
mimic unix sscanf
3. locate and fix same sscanf problems in ncgen/cvt.c
Still need a stable url for a test case.
Following command fails under visual studio.
ncdump -h http://thredds.ucar.edu/thredds/dodsC/nexrad/composite/gini/n0r/1km/20170216/Level3_Composite_n0r_1km_20170216_1635.gini
The problem is that sscanf for windows does not appear to support
scanning 8bit integers: it appears to only allow scanning of characters.
Solution:
Scan the input as an integer (for type Byte) or unsigned int (for type UByte)
and then recast the result as a char or unsigned char.
Primary code fix is in libdap2/dapcvt.c#dapcvtattrval