From 7d19d7888694accbb36088595217894617432f08 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 13 Dec 2000 15:40:34 +0000 Subject: [PATCH] Imported latest version of the library. --- libconfigfile/Makefile | 56 -------------------------------------- libconfigfile/SMakefile | 12 ++++++++ libconfigfile/config.c | 43 ++++++++++++++++++++++++----- libconfigfile/configfile.h | 39 ++++++++++++++++++++++---- libconfigfile/configure.in | 28 +++++++++++++++++++ 5 files changed, 110 insertions(+), 68 deletions(-) delete mode 100644 libconfigfile/Makefile create mode 100644 libconfigfile/SMakefile create mode 100644 libconfigfile/configure.in diff --git a/libconfigfile/Makefile b/libconfigfile/Makefile deleted file mode 100644 index a378596..0000000 --- a/libconfigfile/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# -# libconfigfile Makefile -# -# $Header$ -# - -# Make Rules: -# =========== -# -.c.o: - $(CC) $(CFLAGS) $(CPPFLAGS) -c $< - - -# Compiler Flags: -# =============== -# -CFLAGS = -Wall -CPPFLAGS= - - -# -# Labels: -# ======= -# -SRCS = config.c -OBJS = $(SRCS:.c=.o) - - -# -# Targets -# -.PHONY: all man clean depend - -all: libconfigfile.a - -man: - -clean: - rm -f libconfigfile.a *.o *.3 *.core - -depend: - makedepend -Y /usr/include $(SRCS) - @rm -f Makefile.bak - -# -# Actions -# -libconfigfile.a: $(OBJS) - rm -f $@ - $(AR) cr $@ $(OBJS) - $(RANLIB) $@ - - -# -# Dependencies -# diff --git a/libconfigfile/SMakefile b/libconfigfile/SMakefile new file mode 100644 index 0000000..2e37953 --- /dev/null +++ b/libconfigfile/SMakefile @@ -0,0 +1,12 @@ +# +# Skeleton Makefile -- process with smake to create real Makefile. +# +# $Header$ +# +.opt -o GNUmakefile.in + +LIBRARY = configfile +SRCS = config.c + +.include +.include diff --git a/libconfigfile/config.c b/libconfigfile/config.c index 9bde547..d44a4a4 100644 --- a/libconfigfile/config.c +++ b/libconfigfile/config.c @@ -1,10 +1,39 @@ /* - * $Source$ - * $Revision$ - * $Date$ + * $Source$ + * $Revision$ + * $Date$ * - * Copyright (C) 1996,97 CyberSolutions GmbH. - * All rights reserved. + * Copyright (c) 1996-99 by Peter Simons + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Peter Simons. + * + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include @@ -135,7 +164,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */ should do a consistency check first. If the line passes, there're no surprises when we actually parse it. */ - if ((text_easy_pattern_match(currLine, "^[[:alnum:]_-]+[\t ]+[^\t ]")) == FALSE) { + if ((text_easy_pattern_match(currLine, "^[[:alnum:]_-]+[[:space:]]+[^[:space:]]+.*[^[:space:]]+[[:space:]]*$")) == FALSE) { syslog(LOG_WARNING, "ReadConfig: Line \"%s\" is syntactically incorrect.", currLine); continue; /* ignore it */ @@ -143,7 +172,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */ /* Remove all unnecessary whitespace. */ - rc = text_transform_text(currLine, currLine, "^([^\t ]+)[\t ]+([^\t ].*)[\t ]*$", "\\1 \\2"); + rc = text_transform_text(currLine, currLine, "^([[:alnum:]_-]+)[[:space:]]+([^[:space:]]+.*[^[:space:]]+)[[:space:]]*$", "\\1 \\2"); if (rc != 0) { syslog(LOG_WARNING, "ReadConfig: Internal error while parsing line: %d.", rc); continue; /* ignore it */ diff --git a/libconfigfile/configfile.h b/libconfigfile/configfile.h index b56fab9..70b07ca 100644 --- a/libconfigfile/configfile.h +++ b/libconfigfile/configfile.h @@ -1,10 +1,39 @@ /* - * $Source$ - * $Revision$ - * $Date$ + * $Source$ + * $Revision$ + * $Date$ * - * Copyright (C) 1997 by CyberSolutions GmbH. - * All rights reserved. + * Copyright (c) 1996-99 by Peter Simons + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Peter Simons. + * + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef __LIB_CONFIGFILE_H__ diff --git a/libconfigfile/configure.in b/libconfigfile/configure.in new file mode 100644 index 0000000..d6dfabd --- /dev/null +++ b/libconfigfile/configure.in @@ -0,0 +1,28 @@ +dnl +dnl configure.in -- Process this file with autoconf to produce a configure script. +dnl +dnl $Header$ +dnl + +AC_INIT(configfile.h) + +dnl Checks for paths and programs. +dnl +AC_PROG_CC +AC_PROG_RANLIB + +dnl Enable warning flags for gcc. +dnl +if test "$GCC" = yes; then + CFLAGS="$CFLAGS -Wall -pedantic" + CXXFLAGS="$CXXFLAGS -Wall -pedantic" +fi + +dnl Remove '-g' and '-O2' from the compile flags. +dnl +CFLAGS=`echo $CFLAGS | sed -e "s/-g//" -e "s/-O2//"` +CXXFLAGS=`echo $CXXFLAGS | sed -e "s/-g//" -e "s/-O2//"` + +dnl Write results. +dnl +AC_OUTPUT(GNUmakefile)