fixed memory leaks
This commit is contained in:
@@ -218,24 +218,24 @@ distuninstallcheck_listfiles = find . -type f -print
|
|||||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||||
distcleancheck_listfiles = find . -type f -print
|
distcleancheck_listfiles = find . -type f -print
|
||||||
ACLOCAL = ${SHELL} /home/ziggi/projects/jcomp/missing aclocal
|
ACLOCAL = ${SHELL} /home/ziggi/Projects/jcomp/missing aclocal
|
||||||
AMTAR = $${TAR-tar}
|
AMTAR = $${TAR-tar}
|
||||||
AM_DEFAULT_VERBOSITY = 1
|
AM_DEFAULT_VERBOSITY = 1
|
||||||
APP_CACHEDIR = /home/ziggi/projects/jcomp/cache
|
APP_CACHEDIR = /home/ziggi/Projects/jcomp/cache
|
||||||
APP_CONFIGDIR = /home/ziggi/projects/jcomp/
|
APP_CONFIGDIR = /home/ziggi/Projects/jcomp/
|
||||||
APP_DATABASEDIR = /home/ziggi/projects/jcomp/data
|
APP_DATABASEDIR = /home/ziggi/Projects/jcomp/data
|
||||||
APP_LIBDIR = /home/ziggi/projects/jcomp/lib
|
APP_LIBDIR = /home/ziggi/Projects/jcomp/lib
|
||||||
APP_LOGDIR = /home/ziggi/projects/jcomp/log
|
APP_LOGDIR = /home/ziggi/Projects/jcomp/log
|
||||||
APP_RUNDIR = /home/ziggi/projects/jcomp/run
|
APP_RUNDIR = /home/ziggi/Projects/jcomp/run
|
||||||
APP_USER = ziggi
|
APP_USER = ziggi
|
||||||
AUTOCONF = ${SHELL} /home/ziggi/projects/jcomp/missing autoconf
|
AUTOCONF = ${SHELL} /home/ziggi/Projects/jcomp/missing autoconf
|
||||||
AUTOHEADER = ${SHELL} /home/ziggi/projects/jcomp/missing autoheader
|
AUTOHEADER = ${SHELL} /home/ziggi/Projects/jcomp/missing autoheader
|
||||||
AUTOMAKE = ${SHELL} /home/ziggi/projects/jcomp/missing automake
|
AUTOMAKE = ${SHELL} /home/ziggi/Projects/jcomp/missing automake
|
||||||
AWK = gawk
|
AWK = gawk
|
||||||
CC = clang
|
CC = clang
|
||||||
CCDEPMODE = depmode=none
|
CCDEPMODE = depmode=none
|
||||||
CFLAGS = -g -O2
|
CFLAGS = -g -O2
|
||||||
CP = /bin/cp
|
CP = /usr/local/bin/gcp
|
||||||
CPPFLAGS =
|
CPPFLAGS =
|
||||||
CYGPATH_W = echo
|
CYGPATH_W = echo
|
||||||
DEFS = -DHAVE_CONFIG_H
|
DEFS = -DHAVE_CONFIG_H
|
||||||
@@ -254,7 +254,7 @@ LDFLAGS =
|
|||||||
LIBOBJS =
|
LIBOBJS =
|
||||||
LIBS =
|
LIBS =
|
||||||
LTLIBOBJS =
|
LTLIBOBJS =
|
||||||
MAKEINFO = ${SHELL} /home/ziggi/projects/jcomp/missing makeinfo
|
MAKEINFO = ${SHELL} /home/ziggi/Projects/jcomp/missing makeinfo
|
||||||
MKDIR_P = /usr/local/bin/gmkdir -p
|
MKDIR_P = /usr/local/bin/gmkdir -p
|
||||||
OBJEXT = o
|
OBJEXT = o
|
||||||
PACKAGE = cworker
|
PACKAGE = cworker
|
||||||
@@ -268,24 +268,25 @@ PATH_SEPARATOR = :
|
|||||||
SET_MAKE =
|
SET_MAKE =
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
STRIP =
|
STRIP =
|
||||||
|
VALGRIND = /usr/local/bin/valgrind
|
||||||
VERSION = 0.0.1
|
VERSION = 0.0.1
|
||||||
abs_builddir = /home/ziggi/projects/jcomp
|
abs_builddir = /home/ziggi/Projects/jcomp
|
||||||
abs_srcdir = /home/ziggi/projects/jcomp
|
abs_srcdir = /home/ziggi/Projects/jcomp
|
||||||
abs_top_builddir = /home/ziggi/projects/jcomp
|
abs_top_builddir = /home/ziggi/Projects/jcomp
|
||||||
abs_top_srcdir = /home/ziggi/projects/jcomp
|
abs_top_srcdir = /home/ziggi/Projects/jcomp
|
||||||
ac_ct_CC = clang
|
ac_ct_CC = clang
|
||||||
am__include = include
|
am__include = include
|
||||||
am__leading_dot = .
|
am__leading_dot = .
|
||||||
am__quote =
|
am__quote =
|
||||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||||
am__untar = $${TAR-tar} xf -
|
am__untar = $${TAR-tar} xf -
|
||||||
app_cachedir = /home/ziggi/projects/jcomp/cache
|
app_cachedir = /home/ziggi/Projects/jcomp/cache
|
||||||
app_configdir = /home/ziggi/projects/jcomp/
|
app_configdir = /home/ziggi/Projects/jcomp/
|
||||||
app_databasedir = /home/ziggi/projects/jcomp/data
|
app_databasedir = /home/ziggi/Projects/jcomp/data
|
||||||
app_libdir = /home/ziggi/projects/jcomp/lib
|
app_libdir = /home/ziggi/Projects/jcomp/lib
|
||||||
app_logdir = /home/ziggi/projects/jcomp/log
|
app_logdir = /home/ziggi/Projects/jcomp/log
|
||||||
app_name = cworker
|
app_name = cworker
|
||||||
app_rundir = /home/ziggi/projects/jcomp/run
|
app_rundir = /home/ziggi/Projects/jcomp/run
|
||||||
app_user = ziggi
|
app_user = ziggi
|
||||||
bindir = ${exec_prefix}/bin
|
bindir = ${exec_prefix}/bin
|
||||||
build = amd64-unknown-freebsd12.4
|
build = amd64-unknown-freebsd12.4
|
||||||
@@ -307,7 +308,7 @@ host_vendor = unknown
|
|||||||
htmldir = ${docdir}
|
htmldir = ${docdir}
|
||||||
includedir = ${prefix}/include
|
includedir = ${prefix}/include
|
||||||
infodir = ${datarootdir}/info
|
infodir = ${datarootdir}/info
|
||||||
install_sh = ${SHELL} /home/ziggi/projects/jcomp/install-sh
|
install_sh = ${SHELL} /home/ziggi/Projects/jcomp/install-sh
|
||||||
libdir = ${exec_prefix}/lib
|
libdir = ${exec_prefix}/lib
|
||||||
libexecdir = ${exec_prefix}/libexec
|
libexecdir = ${exec_prefix}/libexec
|
||||||
localedir = ${datarootdir}/locale
|
localedir = ${datarootdir}/locale
|
||||||
@@ -353,6 +354,7 @@ common_SOURCES = \
|
|||||||
rcache.c \
|
rcache.c \
|
||||||
rcache.h
|
rcache.h
|
||||||
|
|
||||||
|
#VALGRIND_OPT = --tool=memcheck
|
||||||
bin_TESTS = \
|
bin_TESTS = \
|
||||||
cflexer_test \
|
cflexer_test \
|
||||||
cfparser_test \
|
cfparser_test \
|
||||||
@@ -875,9 +877,9 @@ run: $(sbin_PROGRAMS)
|
|||||||
|
|
||||||
test: $(bin_TESTS)
|
test: $(bin_TESTS)
|
||||||
@for test in $(bin_TESTS); do \
|
@for test in $(bin_TESTS); do \
|
||||||
echo === Test $${test} ==; \
|
echo ======= Test $${test} ======; \
|
||||||
./$${test}; \
|
$(VALGRIND) $(VALGRIND_OPT) ./$${test}; \
|
||||||
echo === Done $${test} ==; \
|
echo ====== Done $${test} ======; \
|
||||||
done
|
done
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|||||||
+7
-3
@@ -37,11 +37,15 @@ common_SOURCES = \
|
|||||||
run: $(sbin_PROGRAMS)
|
run: $(sbin_PROGRAMS)
|
||||||
./cworker
|
./cworker
|
||||||
|
|
||||||
|
if HAVE_VALGRIND
|
||||||
|
VALGRIND_OPT = --tool=memcheck
|
||||||
|
endif
|
||||||
|
|
||||||
test: $(bin_TESTS)
|
test: $(bin_TESTS)
|
||||||
@for test in $(bin_TESTS); do \
|
@for test in $(bin_TESTS); do \
|
||||||
echo === Test $${test} ==; \
|
echo ======= Test $${test} ======; \
|
||||||
./$${test}; \
|
$(VALGRIND) $(VALGRIND_OPT) ./$${test}; \
|
||||||
echo === Done $${test} ==; \
|
echo ====== Done $${test} ======; \
|
||||||
done
|
done
|
||||||
|
|
||||||
bin_TESTS = \
|
bin_TESTS = \
|
||||||
|
|||||||
+5
-3
@@ -268,6 +268,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
|
|||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
|
VALGRIND = @VALGRIND@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
abs_builddir = @abs_builddir@
|
abs_builddir = @abs_builddir@
|
||||||
abs_srcdir = @abs_srcdir@
|
abs_srcdir = @abs_srcdir@
|
||||||
@@ -353,6 +354,7 @@ common_SOURCES = \
|
|||||||
rcache.c \
|
rcache.c \
|
||||||
rcache.h
|
rcache.h
|
||||||
|
|
||||||
|
@HAVE_VALGRIND_TRUE@VALGRIND_OPT = --tool=memcheck
|
||||||
bin_TESTS = \
|
bin_TESTS = \
|
||||||
cflexer_test \
|
cflexer_test \
|
||||||
cfparser_test \
|
cfparser_test \
|
||||||
@@ -875,9 +877,9 @@ run: $(sbin_PROGRAMS)
|
|||||||
|
|
||||||
test: $(bin_TESTS)
|
test: $(bin_TESTS)
|
||||||
@for test in $(bin_TESTS); do \
|
@for test in $(bin_TESTS); do \
|
||||||
echo === Test $${test} ==; \
|
echo ======= Test $${test} ======; \
|
||||||
./$${test}; \
|
$(VALGRIND) $(VALGRIND_OPT) ./$${test}; \
|
||||||
echo === Done $${test} ==; \
|
echo ====== Done $${test} ======; \
|
||||||
done
|
done
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|||||||
+6
-5
@@ -21,12 +21,11 @@ int main(void) {
|
|||||||
MASSERT(fd > 0);
|
MASSERT(fd > 0);
|
||||||
|
|
||||||
rcache_t cache;
|
rcache_t cache;
|
||||||
rcache_init(&cache, fd);
|
|
||||||
|
|
||||||
cflexer_t lexer;
|
cflexer_t lexer;
|
||||||
cflexer_init(&lexer, &cache);
|
|
||||||
|
|
||||||
cfparser_t parser;
|
cfparser_t parser;
|
||||||
|
|
||||||
|
rcache_init(&cache, fd);
|
||||||
|
cflexer_init(&lexer, &cache);
|
||||||
cfparser_init(&parser, &lexer);
|
cfparser_init(&parser, &lexer);
|
||||||
|
|
||||||
if (cfparser_parse(&parser)) {
|
if (cfparser_parse(&parser)) {
|
||||||
@@ -35,12 +34,14 @@ int main(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int64_t id = 0;
|
int64_t id = 0;
|
||||||
cfparser_bind(&parser, CFVALTYPE_INT, "id", (void *)&id);
|
|
||||||
char* name = "";
|
char* name = "";
|
||||||
|
|
||||||
|
cfparser_bind(&parser, CFVALTYPE_INT, "id", (void *)&id);
|
||||||
cfparser_bind(&parser, CFVALTYPE_STR, "name", (void *)&name);
|
cfparser_bind(&parser, CFVALTYPE_STR, "name", (void *)&name);
|
||||||
|
|
||||||
cfparser_destroy(&parser);
|
cfparser_destroy(&parser);
|
||||||
cflexer_destroy(&lexer);
|
cflexer_destroy(&lexer);
|
||||||
|
rcache_destroy(&cache);
|
||||||
|
|
||||||
MASSERT(id == -123);
|
MASSERT(id == -123);
|
||||||
MASSERT(strcmp(name, "qwerty\"567") == 0);
|
MASSERT(strcmp(name, "qwerty\"567") == 0);
|
||||||
|
|||||||
+5
-6
@@ -20,19 +20,15 @@ int main(void) {
|
|||||||
int argc = 3;
|
int argc = 3;
|
||||||
|
|
||||||
cllexer_t lexer;
|
cllexer_t lexer;
|
||||||
|
|
||||||
cllexer_init(&lexer);
|
|
||||||
|
|
||||||
clparser_t parser;
|
clparser_t parser;
|
||||||
|
|
||||||
|
cllexer_init(&lexer);
|
||||||
clparser_init(&parser, &lexer);
|
clparser_init(&parser, &lexer);
|
||||||
|
|
||||||
int id = 0;
|
int id = 0;
|
||||||
|
|
||||||
clparser_bind(&parser, CLTYPE_INT, "id", (void *)&id);
|
|
||||||
|
|
||||||
char* name = "";
|
char* name = "";
|
||||||
|
|
||||||
|
clparser_bind(&parser, CLTYPE_INT, "id", (void *)&id);
|
||||||
clparser_bind(&parser, CLTYPE_STR, "name", (void *)&name);
|
clparser_bind(&parser, CLTYPE_STR, "name", (void *)&name);
|
||||||
|
|
||||||
if (clparser_parse(&parser, &argv[1], argc - 1) < 0) {
|
if (clparser_parse(&parser, &argv[1], argc - 1) < 0) {
|
||||||
@@ -45,5 +41,8 @@ int main(void) {
|
|||||||
clparser_destroy(&parser);
|
clparser_destroy(&parser);
|
||||||
cllexer_destroy(&lexer);
|
cllexer_destroy(&lexer);
|
||||||
|
|
||||||
|
free(name);
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
#ifndef CONFIG_H_QWER
|
#ifndef CONFIG_H_QWER
|
||||||
#define CONFIG_H_QWER
|
#define CONFIG_H_QWER
|
||||||
|
|
||||||
static const char *srv_runpath = "/home/ziggi/projects/jcomp/run/cworker.pid";
|
static const char *srv_runpath = "/home/ziggi/Projects/jcomp/run/cworker.pid";
|
||||||
static const char *srv_logpath = "/home/ziggi/projects/jcomp/log/cworker.log";
|
static const char *srv_logpath = "/home/ziggi/Projects/jcomp/log/cworker.log";
|
||||||
static const char *srv_configpath = "/home/ziggi/projects/jcomp//cworker.conf";
|
static const char *srv_configpath = "/home/ziggi/Projects/jcomp//cworker.conf";
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+29
-26
@@ -430,7 +430,7 @@ Copyright (C) 2021 Free Software Foundation, Inc.
|
|||||||
This config.status script is free software; the Free Software Foundation
|
This config.status script is free software; the Free Software Foundation
|
||||||
gives unlimited permission to copy, distribute and modify it."
|
gives unlimited permission to copy, distribute and modify it."
|
||||||
|
|
||||||
ac_pwd='/home/ziggi/projects/jcomp'
|
ac_pwd='/home/ziggi/Projects/jcomp'
|
||||||
srcdir='.'
|
srcdir='.'
|
||||||
INSTALL='/usr/bin/install -c'
|
INSTALL='/usr/bin/install -c'
|
||||||
MKDIR_P='/usr/local/bin/gmkdir -p'
|
MKDIR_P='/usr/local/bin/gmkdir -p'
|
||||||
@@ -612,27 +612,27 @@ S["am__EXEEXT_FALSE"]=""
|
|||||||
S["am__EXEEXT_TRUE"]="#"
|
S["am__EXEEXT_TRUE"]="#"
|
||||||
S["LTLIBOBJS"]=""
|
S["LTLIBOBJS"]=""
|
||||||
S["app_name"]="cworker"
|
S["app_name"]="cworker"
|
||||||
S["app_cachedir"]="/home/ziggi/projects/jcomp/cache"
|
S["app_cachedir"]="/home/ziggi/Projects/jcomp/cache"
|
||||||
S["APP_CACHEDIR"]="/home/ziggi/projects/jcomp/cache"
|
S["APP_CACHEDIR"]="/home/ziggi/Projects/jcomp/cache"
|
||||||
S["app_databasedir"]="/home/ziggi/projects/jcomp/data"
|
S["app_databasedir"]="/home/ziggi/Projects/jcomp/data"
|
||||||
S["APP_DATABASEDIR"]="/home/ziggi/projects/jcomp/data"
|
S["APP_DATABASEDIR"]="/home/ziggi/Projects/jcomp/data"
|
||||||
S["app_user"]="ziggi"
|
S["app_user"]="ziggi"
|
||||||
S["APP_USER"]="ziggi"
|
S["APP_USER"]="ziggi"
|
||||||
S["app_libdir"]="/home/ziggi/projects/jcomp/lib"
|
S["app_libdir"]="/home/ziggi/Projects/jcomp/lib"
|
||||||
S["APP_LIBDIR"]="/home/ziggi/projects/jcomp/lib"
|
S["APP_LIBDIR"]="/home/ziggi/Projects/jcomp/lib"
|
||||||
S["app_rundir"]="/home/ziggi/projects/jcomp/run"
|
S["app_rundir"]="/home/ziggi/Projects/jcomp/run"
|
||||||
S["APP_RUNDIR"]="/home/ziggi/projects/jcomp/run"
|
S["APP_RUNDIR"]="/home/ziggi/Projects/jcomp/run"
|
||||||
S["app_logdir"]="/home/ziggi/projects/jcomp/log"
|
S["app_logdir"]="/home/ziggi/Projects/jcomp/log"
|
||||||
S["APP_LOGDIR"]="/home/ziggi/projects/jcomp/log"
|
S["APP_LOGDIR"]="/home/ziggi/Projects/jcomp/log"
|
||||||
S["app_configdir"]="/home/ziggi/projects/jcomp/"
|
S["app_configdir"]="/home/ziggi/Projects/jcomp/"
|
||||||
S["APP_CONFIGDIR"]="/home/ziggi/projects/jcomp/"
|
S["APP_CONFIGDIR"]="/home/ziggi/Projects/jcomp/"
|
||||||
S["SYSTEMD_FALSE"]=""
|
S["SYSTEMD_FALSE"]=""
|
||||||
S["SYSTEMD_TRUE"]="#"
|
S["SYSTEMD_TRUE"]="#"
|
||||||
S["LINUX_OS_FALSE"]=""
|
S["LINUX_OS_FALSE"]=""
|
||||||
S["LINUX_OS_TRUE"]="#"
|
S["LINUX_OS_TRUE"]="#"
|
||||||
S["FREEBSD_OS_FALSE"]="#"
|
S["FREEBSD_OS_FALSE"]="#"
|
||||||
S["FREEBSD_OS_TRUE"]=""
|
S["FREEBSD_OS_TRUE"]=""
|
||||||
S["CP"]="/bin/cp"
|
S["CP"]="/usr/local/bin/gcp"
|
||||||
S["HAVE_CP"]="true"
|
S["HAVE_CP"]="true"
|
||||||
S["LIBOBJS"]=""
|
S["LIBOBJS"]=""
|
||||||
S["host_os"]="freebsd12.4"
|
S["host_os"]="freebsd12.4"
|
||||||
@@ -643,6 +643,9 @@ S["build_os"]="freebsd12.4"
|
|||||||
S["build_vendor"]="unknown"
|
S["build_vendor"]="unknown"
|
||||||
S["build_cpu"]="amd64"
|
S["build_cpu"]="amd64"
|
||||||
S["build"]="amd64-unknown-freebsd12.4"
|
S["build"]="amd64-unknown-freebsd12.4"
|
||||||
|
S["HAVE_VALGRIND_FALSE"]=""
|
||||||
|
S["HAVE_VALGRIND_TRUE"]="#"
|
||||||
|
S["VALGRIND"]="/usr/local/bin/valgrind"
|
||||||
S["am__fastdepCC_FALSE"]=""
|
S["am__fastdepCC_FALSE"]=""
|
||||||
S["am__fastdepCC_TRUE"]="#"
|
S["am__fastdepCC_TRUE"]="#"
|
||||||
S["CCDEPMODE"]="depmode=none"
|
S["CCDEPMODE"]="depmode=none"
|
||||||
@@ -673,12 +676,12 @@ S["mkdir_p"]="$(MKDIR_P)"
|
|||||||
S["MKDIR_P"]="/usr/local/bin/gmkdir -p"
|
S["MKDIR_P"]="/usr/local/bin/gmkdir -p"
|
||||||
S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s"
|
S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s"
|
||||||
S["STRIP"]=""
|
S["STRIP"]=""
|
||||||
S["install_sh"]="${SHELL} /home/ziggi/projects/jcomp/install-sh"
|
S["install_sh"]="${SHELL} /home/ziggi/Projects/jcomp/install-sh"
|
||||||
S["MAKEINFO"]="${SHELL} /home/ziggi/projects/jcomp/missing makeinfo"
|
S["MAKEINFO"]="${SHELL} /home/ziggi/Projects/jcomp/missing makeinfo"
|
||||||
S["AUTOHEADER"]="${SHELL} /home/ziggi/projects/jcomp/missing autoheader"
|
S["AUTOHEADER"]="${SHELL} /home/ziggi/Projects/jcomp/missing autoheader"
|
||||||
S["AUTOMAKE"]="${SHELL} /home/ziggi/projects/jcomp/missing automake"
|
S["AUTOMAKE"]="${SHELL} /home/ziggi/Projects/jcomp/missing automake"
|
||||||
S["AUTOCONF"]="${SHELL} /home/ziggi/projects/jcomp/missing autoconf"
|
S["AUTOCONF"]="${SHELL} /home/ziggi/Projects/jcomp/missing autoconf"
|
||||||
S["ACLOCAL"]="${SHELL} /home/ziggi/projects/jcomp/missing aclocal"
|
S["ACLOCAL"]="${SHELL} /home/ziggi/Projects/jcomp/missing aclocal"
|
||||||
S["VERSION"]="0.0.1"
|
S["VERSION"]="0.0.1"
|
||||||
S["PACKAGE"]="cworker"
|
S["PACKAGE"]="cworker"
|
||||||
S["CYGPATH_W"]="echo"
|
S["CYGPATH_W"]="echo"
|
||||||
@@ -810,13 +813,13 @@ D["HAVE_MEMSET"]=" 1"
|
|||||||
D["HAVE_MKDIR"]=" 1"
|
D["HAVE_MKDIR"]=" 1"
|
||||||
D["HAVE_SETLOCALE"]=" 1"
|
D["HAVE_SETLOCALE"]=" 1"
|
||||||
D["HAVE_SOCKET"]=" 1"
|
D["HAVE_SOCKET"]=" 1"
|
||||||
D["APP_CONFIGDIR"]=" \"/home/ziggi/projects/jcomp/\""
|
D["APP_CONFIGDIR"]=" \"/home/ziggi/Projects/jcomp/\""
|
||||||
D["APP_LOGDIR"]=" \"/home/ziggi/projects/jcomp/log\""
|
D["APP_LOGDIR"]=" \"/home/ziggi/Projects/jcomp/log\""
|
||||||
D["APP_RUNDIR"]=" \"/home/ziggi/projects/jcomp/run\""
|
D["APP_RUNDIR"]=" \"/home/ziggi/Projects/jcomp/run\""
|
||||||
D["APP_LIBDIR"]=" \"/home/ziggi/projects/jcomp/lib\""
|
D["APP_LIBDIR"]=" \"/home/ziggi/Projects/jcomp/lib\""
|
||||||
D["APP_USER"]=" \"ziggi\""
|
D["APP_USER"]=" \"ziggi\""
|
||||||
D["APP_DATABASEDIR"]=" \"/home/ziggi/projects/jcomp/data\""
|
D["APP_DATABASEDIR"]=" \"/home/ziggi/Projects/jcomp/data\""
|
||||||
D["APP_CACHEDIR"]=" \"/home/ziggi/projects/jcomp/cache\""
|
D["APP_CACHEDIR"]=" \"/home/ziggi/Projects/jcomp/cache\""
|
||||||
for (key in D) D_is_set[key] = 1
|
for (key in D) D_is_set[key] = 1
|
||||||
FS = ""
|
FS = ""
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-1
@@ -19,6 +19,11 @@ AC_TYPE_PID_T
|
|||||||
AC_TYPE_SSIZE_T
|
AC_TYPE_SSIZE_T
|
||||||
AC_STRUCT_TIMEZONE
|
AC_STRUCT_TIMEZONE
|
||||||
|
|
||||||
|
AC_PATH_PROG([VALGRIND],[valgrind true])
|
||||||
|
AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" = "xvalgrind"])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Checks for library functions.
|
# Checks for library functions.
|
||||||
AC_FUNC_FORK
|
AC_FUNC_FORK
|
||||||
AC_FUNC_MALLOC
|
AC_FUNC_MALLOC
|
||||||
@@ -49,7 +54,7 @@ AC_CHECK_PROG(HAVE_CP, cp, true, false, /bin /usr/local/bin /usr/bin)
|
|||||||
if test "x$HAVE_CP" = "xfalse"; then
|
if test "x$HAVE_CP" = "xfalse"; then
|
||||||
AC_MSG_ERROR([Requested program cp not found])
|
AC_MSG_ERROR([Requested program cp not found])
|
||||||
fi
|
fi
|
||||||
AC_PATH_PROG([CP],[cp cp])
|
AC_PATH_PROG([CP],[gcp cp])
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
|
|||||||
@@ -2,22 +2,22 @@
|
|||||||
/* defines.h.in. Generated from configure.ac by autoheader. */
|
/* defines.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
/* location of cache dir */
|
/* location of cache dir */
|
||||||
#define APP_CACHEDIR "/home/ziggi/projects/jcomp/cache"
|
#define APP_CACHEDIR "/home/ziggi/Projects/jcomp/cache"
|
||||||
|
|
||||||
/* location of configuration files for ${PACKAGE} */
|
/* location of configuration files for ${PACKAGE} */
|
||||||
#define APP_CONFIGDIR "/home/ziggi/projects/jcomp/"
|
#define APP_CONFIGDIR "/home/ziggi/Projects/jcomp/"
|
||||||
|
|
||||||
/* location of database dir */
|
/* location of database dir */
|
||||||
#define APP_DATABASEDIR "/home/ziggi/projects/jcomp/data"
|
#define APP_DATABASEDIR "/home/ziggi/Projects/jcomp/data"
|
||||||
|
|
||||||
/* location of libs */
|
/* location of libs */
|
||||||
#define APP_LIBDIR "/home/ziggi/projects/jcomp/lib"
|
#define APP_LIBDIR "/home/ziggi/Projects/jcomp/lib"
|
||||||
|
|
||||||
/* location of ${PACKAGE} logdir */
|
/* location of ${PACKAGE} logdir */
|
||||||
#define APP_LOGDIR "/home/ziggi/projects/jcomp/log"
|
#define APP_LOGDIR "/home/ziggi/Projects/jcomp/log"
|
||||||
|
|
||||||
/* location of pid file */
|
/* location of pid file */
|
||||||
#define APP_RUNDIR "/home/ziggi/projects/jcomp/run"
|
#define APP_RUNDIR "/home/ziggi/Projects/jcomp/run"
|
||||||
|
|
||||||
/* effective user */
|
/* effective user */
|
||||||
#define APP_USER "ziggi"
|
#define APP_USER "ziggi"
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ int jparser_parse(jparser_t * parser) {
|
|||||||
kv->type = JVALTYPE_STR;
|
kv->type = JVALTYPE_STR;
|
||||||
kv->str = val;
|
kv->str = val;
|
||||||
}
|
}
|
||||||
|
free(key);
|
||||||
parser->kvalsize++;
|
parser->kvalsize++;
|
||||||
pos++;
|
pos++;
|
||||||
break;
|
break;
|
||||||
@@ -140,5 +141,10 @@ int jparser_bind(jparser_t* parser, int type, char* key, void* ref) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void jparser_destroy(jparser_t * parser) {
|
void jparser_destroy(jparser_t * parser) {
|
||||||
|
for (int i = 0; i < parser->kvalsize; i++) {
|
||||||
|
if (parser->kvalarr[i].type == JVALTYPE_STR) {
|
||||||
|
free(parser->kvalarr[i].str);
|
||||||
|
}
|
||||||
|
}
|
||||||
free(parser->kvalarr);
|
free(parser->kvalarr);
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-6
@@ -22,16 +22,14 @@ int main(void) {
|
|||||||
|
|
||||||
MASSERT(fd > 0);
|
MASSERT(fd > 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rcache_t cache;
|
rcache_t cache;
|
||||||
|
|
||||||
rcache_init(&cache, fd);
|
|
||||||
|
|
||||||
jlexer_t lexer;
|
jlexer_t lexer;
|
||||||
|
|
||||||
jlexer_init(&lexer, &cache);
|
|
||||||
|
|
||||||
jparser_t parser;
|
jparser_t parser;
|
||||||
|
|
||||||
|
rcache_init(&cache, fd);
|
||||||
|
jlexer_init(&lexer, &cache);
|
||||||
jparser_init(&parser, &lexer);
|
jparser_init(&parser, &lexer);
|
||||||
|
|
||||||
if (jparser_parse(&parser) < 0) {
|
if (jparser_parse(&parser) < 0) {
|
||||||
@@ -58,6 +56,7 @@ int main(void) {
|
|||||||
jparser_destroy(&parser);
|
jparser_destroy(&parser);
|
||||||
jlexer_destroy(&lexer);
|
jlexer_destroy(&lexer);
|
||||||
rcache_destroy(&cache);
|
rcache_destroy(&cache);
|
||||||
|
free(name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user