mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-09 08:11:38 +08:00
245961de00
https://github.com/Unidata/netcdf-c/issues/1168 https://github.com/Unidata/netcdf-c/issues/1163 https://github.com/Unidata/netcdf-c/issues/1162 This PR partially fixes memory leaks in the netcdf-c library, in the ncdump utility, and in some test cases. The netcdf-c library now runs memory clean with the assumption that the --disable-utilities option is used. The primary remaining problem is ncgen. Once that is fixed, I believe the netcdf-c library will run memory clean with no limitations. Notes ----------- 1. Memory checking was performed using gcc -fsanitize=address. Valgrind-based testing has yet to be performed. 2. The pnetcdf, hdf4, and examples code has not been tested. Misc. Non-leak changes 1. Make tst_diskless2 only run when netcdf4 is enabled (issue 1162) 2. Fix CmakeLists.txt to turn off logging if ENABLE_NETCDF_4 is OFF 3. Isolated all my debug scripts into a single top-level directory called debug 4. Fix some USE_NETCDF4 dependencies in nc_test and nc_test4 Makefile.am
41 lines
794 B
Plaintext
41 lines
794 B
Plaintext
T=tst_fileinfo
|
|
|
|
NCLIB=./liblib/.libs/libnetcdf.a
|
|
D4LIB=./libdap4/.libs/libdap4.a
|
|
|
|
LFLAG=-L/usr/local/lib
|
|
|
|
#HDF5LIB=-lhdf5_hl -lhdf5
|
|
#CURLLIB=-lcurl
|
|
#ZLIB=-lz
|
|
|
|
OTHERLIBS=-lm
|
|
|
|
LIBS=${D4LIB} ${NCLIB} ${LFLAG} ${CURLLIB} ${HDF5LIB} ${ZLIB} ${OTHERLIBS}
|
|
INCL=-I. -I./include
|
|
RPATH=-Wl,-rpath,${LFLAG}
|
|
|
|
# Might want to specify a particular C compiler with flags
|
|
CC=gcc
|
|
#CFLAGS=-g -O2 -Wall -DHAVE_CONFIG_H
|
|
CFLAGS=-g -O2 -DHAVE_CONFIG_H
|
|
|
|
GFLAGS=-g -O0
|
|
|
|
##################################################
|
|
|
|
all::
|
|
cc -g -c ${T}.c ${INCL}
|
|
cc -g -o ${T} ${T}.o ${LIBS} ${RPATH}
|
|
|
|
clean:
|
|
rm -f ${T}.o ${T}.exe
|
|
|
|
|
|
EZXML=ezxml-0.8.6.tar.gz
|
|
ezxml::
|
|
rm -fr ./ezxml ./ezxml.[ch]
|
|
tar -zxf ./${EZXML}
|
|
sed -e 's|//\(.*\)|/*\1*/|' <ezxml/ezxml.c >./ezxml.c
|
|
sed -e 's|//\(.*\)|/*\1*/|' <ezxml/ezxml.h >./ezxml.h
|