104 Commits

Author SHA1 Message Date
Ed Hartnett
00a8bbad8d cleanup 2018-08-22 07:03:37 -06:00
Ed Hartnett
59307c405d removing unneeded function nc4_rec_find_nc_type 2018-08-22 06:29:44 -06:00
Ed Hartnett
86cfc48a92 removing unneeded lookups 2018-08-22 06:13:53 -06:00
Ed Hartnett
8885c75ade removing unneeded lookups 2018-08-22 06:08:19 -06:00
Ed Hartnett
d8c1a6209a removed unneeded lookup function 2018-08-21 11:54:06 -06:00
Ed Hartnett
990a75d5d7 clean up of find_grp functions 2018-08-21 11:23:12 -06:00
Ed Hartnett
ece953458d cleanup of group find functions 2018-08-21 10:50:32 -06:00
Ed Hartnett
42b9dc778f removing unneeded function nc4_rec_find_grp 2018-08-21 10:28:44 -06:00
Ed Hartnett
b3842197e0 merged master 2018-08-16 05:49:41 -06:00
Ed Hartnett
b5999278cc added nc4_find_grp_h5_var 2018-08-09 06:47:45 -06:00
Ed Hartnett
a65078040d whitespace cleanup 2018-08-07 15:17:40 -06:00
Ed Hartnett
9dc99c8a04 cleaned up some functions in preparation for lazy vars 2018-08-06 10:16:49 -06:00
Ed Hartnett
c1acba1f07 redid branch for PR 2018-07-29 04:57:25 -06:00
Ed Hartnett
5a52f28bb7 further condensing code 2018-07-21 10:43:36 -06:00
Ed Hartnett
7aed50a902 performance test for fast global att reads 2018-07-21 07:29:12 -06:00
Ed Hartnett
0d8dd16231 removed use of hdfid from libsrc4 directory 2018-07-19 13:13:23 -06:00
Dennis Heimbigner
40013b72f6 The pr does some cleanup on the internal documentation
in the docs directory.
1. Add a new internal document -- testserver.dox -- to describe
   how to set up and maintain the dap test server.
2. It moves the internal documentation (internal.dox, indexing.dox,
   and testserver.dox) to later in the documentation table of contents.
3. Cleanup the formatting of the internal documents.
4. Cleanup some minor doxygen issues in other files.
2018-06-29 15:06:27 -06:00
Ed Hartnett
697f033823 renamed NC_HDF5_FILE_INFO to NC_FILE_INFO 2018-06-22 07:08:09 -06:00
Ed Hartnett
77936f2884 more progress towards lazy read of atts for vars 2018-06-19 08:25:19 -06:00
Ed Hartnett
81add527f2 lazy read of global atts now working 2018-06-19 07:39:42 -06:00
Ed Hartnett
2ca8526278 merged master 2018-06-14 16:57:38 -06:00
Ed Hartnett
03d1a7c7cc
Merge branch 'master' into ejh_logging 2018-06-08 03:17:01 -06:00
Ward Fisher
acc0b29140 Potential dereference of a null pointer fixed. 2018-05-31 15:28:13 -06:00
Ward Fisher
165d59e6af Fixed a potential memory leak identified by static analysis. 2018-05-31 15:25:40 -06:00
Ed Hartnett
e0f92efaa2 fixed logging 2018-05-24 14:55:34 -06:00
Ed Hartnett
f2cb4678ee moving HDF5 functions to libhdf5 2018-05-24 14:27:16 -06:00
Ed Hartnett
82c80c8c6c fixed issue building without nc_set_log_level 2018-05-12 11:46:04 -06:00
Ed Hartnett
27a74dee54 now always define nc_set_log_level unless user disables 2018-05-12 11:27:11 -06:00
luz.paz
b4d0fe651a Follow-up trivial typos 2018-04-26 23:04:01 -04:00
Dennis Heimbigner
25f062528b This completes (for now) the refactoring of libsrc4.
The file docs/indexing.dox tries to provide design
information for the refactoring.

The primary change is to replace all walking of linked
lists with the use of the NCindex data structure.
Ncindex is a combination of a hash table (for name-based
lookup) and a vector (for walking the elements in the index).
Additionally, global vectors are added to NC_HDF5_FILE_INFO_T
to support direct mapping of an e.g. dimid to the NC_DIM_INFO_T
object. These global vectors exist for dimensions, types, and groups
because they have globally unique id numbers.

WARNING:
1. since libsrc4 and libsrchdf4 share code, there are also
   changes in libsrchdf4.
2. Any outstanding pull requests that change libsrc4 or libhdf4
   are likely to cause conflicts with this code.
3. The original reason for doing this was for performance improvements,
   but as noted elsewhere, this may not be significant because
   the meta-data read performance apparently is being dominated
   by the hdf5 library because we do bulk meta-data reading rather
   than lazy reading.
2018-03-16 11:46:18 -06:00
Ed Hartnett
7c936a7bb6 brought in changes from ejh_att 2018-01-31 08:44:33 -07:00
Ed Hartnett
ef65bdf9af merged 786 2018-01-20 06:06:25 -07:00
Ed Hartnett
da928c1b83 merged 780 2018-01-20 06:05:34 -07:00
Ed Hartnett
4be1fd82e6 further test development 2018-01-19 04:16:59 -07:00
Ed Hartnett
126d34da1d more tests, error handling 2018-01-18 07:36:52 -07:00
Ed Hartnett
3fa3d3f9f9 ported rename fix changes from branch ejh_fill_values for easy merging 2018-01-05 06:01:22 -07:00
Ray Donnelly
879d071b0c Fix buffer overrun in tabs[MAX_NESTS] by adding space for \0 terminator
.. also speed it up by not using strcat when direct array access works just fine.
2017-12-20 21:38:34 +00:00
Ed Hartnett
4de61e21f2 more docs, more cleaning 2017-12-04 12:21:14 -07:00
Ed Hartnett
097a09fc79 more internal docs 2017-12-03 07:57:21 -07:00
Ed Hartnett
3514ae9d08 more internal docs 2017-12-03 07:11:51 -07:00
Ed Hartnett
bf6dab14e0 fixed error value from nc4_find_g_var_nc() when ncid is bad 2017-12-03 04:06:56 -07:00
Ed Hartnett
013151edc6 fixed leak relating to var->params 2017-11-14 09:15:13 -07:00
Ed Hartnett
0ac8ec40a1 removed archaic code to check memory use 2017-11-02 11:40:13 -06:00
Ward Fisher
24ca95645c Applied fix for a stack buffer overflow into 4.5.0 release branch. 2017-08-08 13:18:53 -06:00
Dennis Heimbigner
3db4f013bf Primary change: add dap4 support
Specific changes:
1. Add dap4 code: libdap4 and dap4_test.
   Note that until the d4ts server problem is solved, dap4 is turned off.
2. Modify various files to support dap4 flags:
	configure.ac, Makefile.am, CMakeLists.txt, etc.
3. Add nc_test/test_common.sh. This centralizes
   the handling of the locations of various
   things in the build tree: e.g. where is
   ncgen.exe located. See nc_test/test_common.sh
   for details.
4. Modify .sh files to use test_common.sh
5. Obsolete separate oc2 by moving it to be part of
   netcdf-c. This means replacing code with netcdf-c
   equivalents.
5. Add --with-testserver to configure.ac to allow
   override of the servers to be used for --enable-dap-remote-tests.
6. There were multiple versions of nctypealignment code. Try to
   centralize in libdispatch/doffset.c and include/ncoffsets.h
7. Add a unit test for the ncuri code because of its complexity.
8. Move the findserver code out of libdispatch and into
   a separate, self contained program in ncdap_test and dap4_test.
9. Move the dispatch header files (nc{3,4}dispatch.h) to
   .../include because they are now shared by modules.
10. Revamp the handling of TOPSRCDIR and TOPBUILDDIR for shell scripts.
11. Make use of MREMAP if available
12. Misc. minor changes e.g.
	- #include <config.h> -> #include "config.h"
	- Add some no-install headers to /include
	- extern -> EXTERNL and vice versa as needed
	- misc header cleanup
	- clean up checking for misc. unix vs microsoft functions
13. Change copyright decls in some files to point to LICENSE file.
14. Add notes to RELEASENOTES.md
2017-03-08 17:01:10 -07:00
Dennis Heimbigner
47daf33074 Resolves Github issue https://github.com/Unidata/netcdf-c/issues/349.
Update utf8proc.[ch] to use the version now
maintained by the Julia Language project
(https://github.com/JuliaLang/utf8proc/blob/master/LICENSE.md).
The license for the previous version was
unacceptable for the Debian and Ubuntu release
systems. The new version both updates the code
and addresses the license issue.

It turns out that the utf8proc software we are using
was turned over to the Julia Language developers
and the license terms changed to allow modification.
(https://github.com/JuliaLang/utf8proc/blob/master/LICENSE.md).

So the fix here is as follows:
1. Wrap the library with a fixed interface: libdispatch/dutf8.c
   and include/ncutf8.h.
2. Replace the existing utf8proc code with the new version
   from https://github.com/JuliaLang/utf8proc.
3. Add a couple more test cases: nc_test/tst_utf8_validate.c
   and nc_test_utf8_phrases.c.  If/when I can find a usable
   normalization test, I will incorporate that later.
2017-02-16 14:27:54 -07:00
Ward Fisher
767a5b372c Corrected an issue reported as part of the pull request at https://github.com/Unidata/netcdfic/pull/328 2016-11-28 13:31:43 -07:00
Greg Sjaardema
a55d96eba1 Clean-up build after changes -- remove unused variables 2016-11-16 08:45:28 -07:00
Greg Sjaardema
d16f5a8842 Whitespace cleanup 2016-11-16 08:45:19 -07:00
Greg Sjaardema
8698e57424 Compile with c89 -- eliminate init in for-loop 2016-11-16 08:45:15 -07:00