summaryrefslogtreecommitdiff
path: root/src/libicalss
diff options
context:
space:
mode:
Diffstat (limited to 'src/libicalss')
-rw-r--r--src/libicalss/CMakeLists.txt243
-rw-r--r--src/libicalss/Makefile.am15
-rw-r--r--src/libicalss/Makefile.in498
-rw-r--r--src/libicalss/icalcalendar.c39
-rw-r--r--src/libicalss/icalcalendar.h2
-rw-r--r--src/libicalss/icalclassify.c10
-rw-r--r--src/libicalss/icalclassify.h4
-rw-r--r--src/libicalss/icalcluster.c6
-rw-r--r--src/libicalss/icalcluster.h2
-rw-r--r--src/libicalss/icalcomponent.h24
-rw-r--r--src/libicalss/icaldirset.c21
-rw-r--r--src/libicalss/icaldirset.h6
-rw-r--r--src/libicalss/icalfileset.c56
-rw-r--r--src/libicalss/icalfileset.h8
-rw-r--r--src/libicalss/icalgauge.c3
-rw-r--r--src/libicalss/icalgauge.h2
-rw-r--r--src/libicalss/icalmessage.c11
-rw-r--r--src/libicalss/icalset.c4
-rw-r--r--src/libicalss/icalset.h2
-rw-r--r--src/libicalss/icalspanlist.c4
-rw-r--r--src/libicalss/icalspanlist.h2
-rw-r--r--src/libicalss/icalsslexer.c1607
-rw-r--r--src/libicalss/icalsslexer.l13
-rw-r--r--src/libicalss/icalssyacc.c109
-rw-r--r--src/libicalss/icalssyacc.h2
-rw-r--r--src/libicalss/icalssyacc.y75
26 files changed, 1492 insertions, 1276 deletions
diff --git a/src/libicalss/CMakeLists.txt b/src/libicalss/CMakeLists.txt
index 330dfeb..a016216 100644
--- a/src/libicalss/CMakeLists.txt
+++ b/src/libicalss/CMakeLists.txt
@@ -1,7 +1,7 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src
- ${CMAKE_SOURCE_DIR}/src/libicalss ${CMAKE_BINARY_DIR}/src/libicalss
+ ${CMAKE_SOURCE_DIR}/src/libicalss ${CMAKE_BINARY_DIR}/src/libicalss
${CMAKE_SOURCE_DIR}/src/libical ${CMAKE_BINARY_DIR}/src/libical
)
@@ -15,21 +15,21 @@ endif(WIN32)
add_custom_command(
OUTPUT
- ${CMAKE_BINARY_DIR}/src/libical/icalss.h
+ ${CMAKE_BINARY_DIR}/src/libicalss/icalss.h
COMMAND
${CMAKE_COMMAND}
-DTOPS:FILEPATH=${TOPS}
-DTOPB:FILEPATH=${TOPB}
- -DICAL_FILE_H_FILE:FILEPATH=${CMAKE_BINARY_DIR}/src/libical/icalss.h
+ -DICAL_FILE_H_FILE:FILEPATH=${CMAKE_BINARY_DIR}/src/libicalss/icalss.h
-P ${CMAKE_CURRENT_SOURCE_DIR}/icalss_file.cmake
DEPENDS
- ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
- ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
- ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
+ ical-header
)
-add_custom_target(icalss-header DEPENDS
- ${CMAKE_BINARY_DIR}/src/libical/icalss.h
+add_custom_target(icalss-header
+ DEPENDS
+ ical-header
+ ${CMAKE_BINARY_DIR}/src/libicalss/icalss.h
)
########### next target ###############
@@ -38,53 +38,67 @@ add_custom_target(icalss-header DEPENDS
set(icalss_LIB_DEVSRCS icalsslexer.c icalssyacc.c)
set(icalss_LIB_SRCS
- icalcalendar.c
- icalcalendar.h
- icalclassify.c
- icalclassify.h
- icalcluster.c
- icalcluster.h
- icalclusterimpl.h
- icalgauge.c
- icalgauge.h
- icalgaugeimpl.h
- icaldirset.c
- icaldirset.h
- icaldirsetimpl.h
- icalfileset.c
- icalfileset.h
- icalfilesetimpl.h
- icalset.c
- icalset.h
- icalssyacc.h
- icalspanlist.c
- icalspanlist.h
- icalmessage.c
- icalmessage.h
-# $(BDB_SOURCEFILES)
- ${icalss_LIB_DEVSRCS}
+ icalcalendar.c
+ icalcalendar.h
+ icalclassify.c
+ icalclassify.h
+ icalcluster.c
+ icalcluster.h
+ icalclusterimpl.h
+ icalgauge.c
+ icalgauge.h
+ icalgaugeimpl.h
+ icaldirset.c
+ icaldirset.h
+ icaldirsetimpl.h
+ icalfileset.c
+ icalfileset.h
+ icalfilesetimpl.h
+ icalset.c
+ icalset.h
+ icalssyacc.h
+ icalspanlist.c
+ icalspanlist.h
+ icalmessage.c
+ icalmessage.h
+ ${icalss_LIB_DEVSRCS}
)
if(MSVC)
- list(APPEND icalss_LIB_SRCS ../icalss.def)
+ list(APPEND icalss_LIB_SRCS ../icalss.def)
endif(MSVC)
-add_library(icalss SHARED ${icalss_LIB_SRCS})
+add_library(icalss ${LIBRARY_TYPE} ${icalss_LIB_SRCS})
+add_library(icalss-static STATIC ${icalss_LIB_SRCS})
+
add_dependencies(icalss icalss-header)
+add_dependencies(icalss-static icalss-header)
target_link_libraries(icalss ical)
-set_target_properties(icalss PROPERTIES VERSION ${LIBICAL_LIB_VERSION_STRING} SOVERSION ${LIBICAL_LIB_MAJOR_VERSION})
-install(TARGETS icalss ${INSTALL_TARGETS_DEFAULT_ARGS})
+if(MSVC)
+ set_target_properties(icalss PROPERTIES OUTPUT_NAME "libicalss")
+ set_target_properties(icalss-static PROPERTIES OUTPUT_NAME "libicalss-static")
+else(MSVC)
+ set_target_properties(icalss-static PROPERTIES OUTPUT_NAME "icalss")
+endif(MSVC)
+set_target_properties(icalss PROPERTIES
+ VERSION ${LIBICAL_LIB_VERSION_STRING}
+ SOVERSION ${LIBICAL_LIB_MAJOR_VERSION}
+)
+set_target_properties(icalss PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+set_target_properties(icalss-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+
+install(TARGETS icalss icalss-static ${INSTALL_TARGETS_DEFAULT_ARGS})
########### install files ###############
install(FILES
- ${CMAKE_BINARY_DIR}/src/libical/icalss.h
+ ${CMAKE_BINARY_DIR}/src/libicalss/icalss.h
icalcalendar.h
icalclassify.h
icalcluster.h
- icaldirset.h
+ icaldirset.h
icaldirsetimpl.h
icalfileset.h
icalfilesetimpl.h
@@ -94,155 +108,6 @@ install(FILES
icalset.h
icalspanlist.h
icalssyacc.h
- #$(libicalssinclude_BDBHEADERS)
DESTINATION
- ${INCLUDE_INSTALL_DIR}/libical
+ ${INCLUDE_INSTALL_DIR}/libical
)
-
-#original Makefile.am contents follow:
-
-##======================================================================
-## FILE: Makefile.am
-## CREATOR: eric
-##
-## $Id: Makefile.am,v 1.24 2008-02-03 15:27:34 dothebart Exp $
-##
-##
-## (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of either:
-##
-## The LGPL as published by the Free Software Foundation, version
-## 2.1, available at: http://www.fsf.org/copyleft/lesser.html
-##
-## Or:
-##
-## The Mozilla Public License Version 1.0. You may obtain a copy of
-## the License at http://www.mozilla.org/MPL/
-##
-##
-##
-##======================================================================
-#
-#
-#AM_YFLAGS =-d -v -p ss
-#AM_LFLAGS = -Pss
-#LEX_OUTPUT_ROOT = lex.ss
-#
-#all: icalss.h
-#
-## just to get it built
-#$(srcdir)/icalgauge.c: icalssyacc.h
-#$(srcdir)/icalsslexer.c: icalssyacc.h
-#
-#
-#if WITH_BDB4
-#BDB_INCLUDE=-I@BDB_DIR_INCLUDE@ -DWITH_BDB4
-#BDB_SOURCEFILES=icalbdbset.c icalbdbset.h icalbdbsetimpl.h
-#BDB_HEADERFILES=$(srcdir)/icalbdbset.h
-#libicalssinclude_BDBHEADERS=icalbdbset.h icalbdbsetimpl.h
-#BDB_LIBFILES=@BDB_DIR_LIB@/@BDB_LIB@
-#else
-#BDB_INCLUDE=
-#BDB_SOURCEFILES=
-#BDB_HEADERFILES=
-#endif
-#
-#if WITH_CXX_BINDINGS
-#cxx_lib=libicalss_cxx.la
-#cxx_headers=icalspanlist_cxx.h
-#else
-#cxx_lib=
-#cxx_headers=
-#endif
-#
-#lib_LTLIBRARIES = libicalss.la $(cxx_lib)
-#
-#INCLUDES = \
-# -I$(top_srcdir)/src \
-# -I$(top_builddir)/src \
-# -I$(top_srcdir)/src/libical \
-# -I$(top_builddir)/src/libical \
-# $(BDB_INCLUDE)
-#
-#libicalss_la_LDFLAGS = -version-info 43:0:43
-#libicalss_la_LIBADD = $(BDB_LIBFILES)
-#
-#if DEV
-#libicalss_la_DEVSOURCES = icalsslexer.l icalssyacc.y
-#else
-#libicalss_la_DEVSOURCES = icalsslexer.c icalssyacc.c
-#endif
-#
-#libicalss_la_SOURCES = \
-# icalcalendar.c \
-# icalcalendar.h \
-# icalclassify.c \
-# icalclassify.h \
-# icalcluster.c \
-# icalcluster.h \
-# icalclusterimpl.h \
-# icalgauge.c \
-# icalgauge.h \
-# icalgaugeimpl.h \
-# icaldirset.c \
-# icaldirset.h \
-# icaldirsetimpl.h \
-# icalfileset.c \
-# icalfileset.h \
-# icalfilesetimpl.h \
-# icalset.c \
-# icalset.h \
-# icalssyacc.h \
-# icalspanlist.c \
-# icalspanlist.h \
-# icalmessage.c \
-# icalmessage.h \
-# $(BDB_SOURCEFILES) \
-# $(libicalss_la_DEVSOURCES)
-#
-#libicalssincludedir = $(includedir)/libical
-#
-#COMBINEDHEADERS = \
-# $(srcdir)/icalgauge.h \
-# $(srcdir)/icalset.h \
-# $(srcdir)/icalcluster.h \
-# $(srcdir)/icalfileset.h \
-# $(srcdir)/icaldirset.h \
-# $(BDB_HEADERFILES) \
-# $(srcdir)/icalcalendar.h \
-# $(srcdir)/icalclassify.h \
-# $(srcdir)/icalspanlist.h \
-# $(srcdir)/icalmessage.h
-#
-#if WITH_CXX_BINDINGS
-#libicalss_cxx_la_SOURCES = \
-# $(libicalss_evolution_la_SOURCES) \
-# icalspanlist_cxx.h \
-# icalspanlist_cxx.cpp
-#
-#endif
-#
-#icalss.h: $(COMBINEDHEADERS)
-# echo '#ifndef LIBICAL_ICALSS_H' > icalss.h
-# echo '#define LIBICAL_ICALSS_H' >> icalss.h
-# echo '#ifdef __cplusplus' >> icalss.h
-# echo 'extern "C" {' >> icalss.h
-# echo '#endif' >> icalss.h
-# echo '/*' >> icalss.h
-# echo ' $$''Id''$$' >> icalss.h
-# echo '*/' >> icalss.h
-# cat $(COMBINEDHEADERS) \
-# | egrep -v "#include.*\"ical" \
-# | egrep -v "#include.*\"pvl\.h\"" \
-# | egrep -v '\$$(Id|Locker): .+\$$'>> icalss.h
-# echo '#ifdef __cplusplus' >> icalss.h
-# echo '}' >> icalss.h
-# echo '#endif' >> icalss.h
-# echo '#endif' >> icalss.h
-#
-#libicalssinclude_HEADERS = icalss.h icalcalendar.h icalclassify.h icalcluster.h icaldirset.h icaldirsetimpl.h icalfileset.h icalfilesetimpl.h icalgauge.h icalgaugeimpl.h icalmessage.h icalset.h icalspanlist.h icalssyacc.h $(libicalssinclude_BDBHEADERS)
-#
-#CONFIG_CLEAN_FILES = y.output
-#
diff --git a/src/libicalss/Makefile.am b/src/libicalss/Makefile.am
index f688a0b..bb0bc3d 100644
--- a/src/libicalss/Makefile.am
+++ b/src/libicalss/Makefile.am
@@ -23,11 +23,11 @@
#======================================================================
-AM_YFLAGS =-d -v -p ss
-AM_LFLAGS = -Pss
+AM_YFLAGS = -d -v -p ss -l
+AM_LFLAGS = -Pss -L -R
LEX_OUTPUT_ROOT = lex.ss
-all: icalss.h
+BUILT_SOURCES = icalss.h
# just to get it built
$(srcdir)/icalgauge.c: icalssyacc.h
@@ -63,8 +63,13 @@ INCLUDES = \
-I$(top_builddir)/src/libical \
$(BDB_INCLUDE)
-libicalss_la_LDFLAGS = -version-info 43:0:43
-libicalss_la_LIBADD = $(BDB_LIBFILES)
+libicalss_la_LDFLAGS = -version-info 48:0:48
+
+if OS_WIN32
+libicalss_la_LDFLAGS += -no-undefined
+endif
+
+libicalss_la_LIBADD = $(BDB_LIBFILES) $(top_builddir)/src/libical/libical.la
if DEV
libicalss_la_DEVSOURCES = icalsslexer.l icalssyacc.y
diff --git a/src/libicalss/Makefile.in b/src/libicalss/Makefile.in
index 0ce0e36..04b5eb9 100644
--- a/src/libicalss/Makefile.in
+++ b/src/libicalss/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -39,17 +39,29 @@
#======================================================================
-SOURCES = $(libicalss_la_SOURCES) $(libicalss_cxx_la_SOURCES)
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -64,28 +76,52 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
+@OS_WIN32_TRUE@am__append_1 = -no-undefined
subdir = src/libicalss
DIST_COMMON = $(am__libicalssinclude_HEADERS_DIST) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in icalsslexer.c \
- icalssyacc.c icalssyacc.h
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/depcomp $(top_srcdir)/mkinstalldirs \
+ $(top_srcdir)/ylwrap icalsslexer.c icalssyacc.c icalssyacc.h
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(libicalssincludedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libicalss_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+libicalss_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(top_builddir)/src/libical/libical.la
am__libicalss_la_SOURCES_DIST = icalcalendar.c icalcalendar.h \
icalclassify.c icalclassify.h icalcluster.c icalcluster.h \
icalclusterimpl.h icalgauge.c icalgauge.h icalgaugeimpl.h \
@@ -102,6 +138,9 @@ am_libicalss_la_OBJECTS = icalcalendar.lo icalclassify.lo \
icalset.lo icalspanlist.lo icalmessage.lo $(am__objects_1) \
$(am__objects_2)
libicalss_la_OBJECTS = $(am_libicalss_la_OBJECTS)
+libicalss_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libicalss_la_LDFLAGS) $(LDFLAGS) -o $@
libicalss_cxx_la_LIBADD =
am__libicalss_cxx_la_SOURCES_DIST = icalspanlist_cxx.h \
icalspanlist_cxx.cpp
@@ -109,46 +148,57 @@ am__libicalss_cxx_la_SOURCES_DIST = icalspanlist_cxx.h \
@WITH_CXX_BINDINGS_TRUE@ icalspanlist_cxx.lo
libicalss_cxx_la_OBJECTS = $(am_libicalss_cxx_la_OBJECTS)
@WITH_CXX_BINDINGS_TRUE@am_libicalss_cxx_la_rpath = -rpath $(libdir)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
-LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
-YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
-LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \
- $(AM_YFLAGS)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
+LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
+LTLEXCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)
+YLWRAP = $(top_srcdir)/ylwrap
+@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
+am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \
+ -e s/c++$$/h++/ -e s/c$$/h/
+YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
+LTYACCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)
SOURCES = $(libicalss_la_SOURCES) $(libicalss_cxx_la_SOURCES)
DIST_SOURCES = $(am__libicalss_la_SOURCES_DIST) \
$(am__libicalss_cxx_la_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__libicalssinclude_HEADERS_DIST = icalss.h icalcalendar.h \
icalclassify.h icalcluster.h icaldirset.h icaldirsetimpl.h \
icalfileset.h icalfilesetimpl.h icalgauge.h icalgaugeimpl.h \
icalmessage.h icalset.h icalspanlist.h icalssyacc.h \
icalbdbset.h icalbdbsetimpl.h
-libicalssincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(libicalssinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
@@ -172,18 +222,17 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DEV_FALSE = @DEV_FALSE@
-DEV_TRUE = @DEV_TRUE@
-ECHO = @ECHO@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-HAVE_PTHREAD_FALSE = @HAVE_PTHREAD_FALSE@
-HAVE_PTHREAD_TRUE = @HAVE_PTHREAD_TRUE@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -193,6 +242,7 @@ JAVA = @JAVA@
JAVAC = @JAVAC@
JAVAH = @JAVAH@
JAVA_PLATFORM = @JAVA_PLATFORM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
@@ -200,53 +250,52 @@ LEX_OUTPUT_ROOT = lex.ss
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OS_WIN32_FALSE = @OS_WIN32_FALSE@
-OS_WIN32_TRUE = @OS_WIN32_TRUE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PTHREAD_LIBS = @PTHREAD_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
PY_CFLAGS = @PY_CFLAGS@
-PY_EXTRA_LIBS = @PY_EXTRA_LIBS@
-PY_LIBS = @PY_LIBS@
-PY_LIB_LOC = @PY_LIB_LOC@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-WITH_BDB4_FALSE = @WITH_BDB4_FALSE@
-WITH_BDB4_TRUE = @WITH_BDB4_TRUE@
-WITH_CXX_BINDINGS_FALSE = @WITH_CXX_BINDINGS_FALSE@
-WITH_CXX_BINDINGS_TRUE = @WITH_CXX_BINDINGS_TRUE@
-WITH_JAVA_FALSE = @WITH_JAVA_FALSE@
-WITH_JAVA_TRUE = @WITH_JAVA_TRUE@
-WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@
-WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
YACC = @YACC@
+YFLAGS = @YFLAGS@
ZONE_INFO = @ZONE_INFO@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -258,35 +307,52 @@ build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
-python_val = @python_val@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+swig_val = @swig_val@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
-AM_YFLAGS = -d -v -p ss
-AM_LFLAGS = -Pss
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_YFLAGS = -d -v -p ss -l
+AM_LFLAGS = -Pss -L -R
+BUILT_SOURCES = icalss.h
@WITH_BDB4_FALSE@BDB_INCLUDE =
@WITH_BDB4_TRUE@BDB_INCLUDE = -I@BDB_DIR_INCLUDE@ -DWITH_BDB4
@WITH_BDB4_FALSE@BDB_SOURCEFILES =
@@ -307,8 +373,8 @@ INCLUDES = \
-I$(top_builddir)/src/libical \
$(BDB_INCLUDE)
-libicalss_la_LDFLAGS = -version-info 43:0:43
-libicalss_la_LIBADD = $(BDB_LIBFILES)
+libicalss_la_LDFLAGS = -version-info 48:0:48 $(am__append_1)
+libicalss_la_LIBADD = $(BDB_LIBFILES) $(top_builddir)/src/libical/libical.la
@DEV_FALSE@libicalss_la_DEVSOURCES = icalsslexer.c icalssyacc.c
@DEV_TRUE@libicalss_la_DEVSOURCES = icalsslexer.l icalssyacc.y
libicalss_la_SOURCES = \
@@ -358,7 +424,8 @@ COMBINEDHEADERS = \
libicalssinclude_HEADERS = icalss.h icalcalendar.h icalclassify.h icalcluster.h icaldirset.h icaldirsetimpl.h icalfileset.h icalfilesetimpl.h icalgauge.h icalgaugeimpl.h icalmessage.h icalset.h icalspanlist.h icalssyacc.h $(libicalssinclude_BDBHEADERS)
CONFIG_CLEAN_FILES = y.output
-all: all-am
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .cpp .l .lo .o .obj .y
@@ -366,14 +433,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libicalss/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libicalss/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libicalss/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/libicalss/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -391,42 +458,48 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
icalssyacc.h: icalssyacc.c
- @if test ! -f $@; then \
- rm -f icalssyacc.c; \
- $(MAKE) icalssyacc.c; \
- else :; fi
-libicalss.la: $(libicalss_la_OBJECTS) $(libicalss_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libicalss_la_LDFLAGS) $(libicalss_la_OBJECTS) $(libicalss_la_LIBADD) $(LIBS)
-libicalss_cxx.la: $(libicalss_cxx_la_OBJECTS) $(libicalss_cxx_la_DEPENDENCIES)
- $(CXXLINK) $(am_libicalss_cxx_la_rpath) $(libicalss_cxx_la_LDFLAGS) $(libicalss_cxx_la_OBJECTS) $(libicalss_cxx_la_LIBADD) $(LIBS)
+ @if test ! -f $@; then rm -f icalssyacc.c; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) icalssyacc.c; else :; fi
+libicalss.la: $(libicalss_la_OBJECTS) $(libicalss_la_DEPENDENCIES) $(EXTRA_libicalss_la_DEPENDENCIES)
+ $(libicalss_la_LINK) -rpath $(libdir) $(libicalss_la_OBJECTS) $(libicalss_la_LIBADD) $(LIBS)
+libicalss_cxx.la: $(libicalss_cxx_la_OBJECTS) $(libicalss_cxx_la_DEPENDENCIES) $(EXTRA_libicalss_cxx_la_DEPENDENCIES)
+ $(CXXLINK) $(am_libicalss_cxx_la_rpath) $(libicalss_cxx_la_OBJECTS) $(libicalss_cxx_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -449,183 +522,186 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icalssyacc.Plo@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
.l.c:
- $(LEXCOMPILE) $<
- sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@
- rm -f $(LEX_OUTPUT_ROOT).c
+ $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
.y.c:
- $(YACCCOMPILE) $<
- if test -f y.tab.h; then \
- to=`echo "$*_H" | sed \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
- -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
- sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \
- y.tab.h >$*.ht; \
- rm -f y.tab.h; \
- if cmp -s $*.ht $*.h; then \
- rm -f $*.ht ;\
- else \
- mv $*.ht $*.h; \
- fi; \
- fi
- if test -f y.output; then \
- mv y.output $*.output; \
- fi
- sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@
- rm -f y.tab.c
+ $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
install-libicalssincludeHEADERS: $(libicalssinclude_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(libicalssincludedir)" || $(mkdir_p) "$(DESTDIR)$(libicalssincludedir)"
- @list='$(libicalssinclude_HEADERS)'; for p in $$list; do \
+ @list='$(libicalssinclude_HEADERS)'; test -n "$(libicalssincludedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libicalssincludedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libicalssincludedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(libicalssincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libicalssincludedir)/$$f'"; \
- $(libicalssincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libicalssincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libicalssincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libicalssincludedir)" || exit $$?; \
done
uninstall-libicalssincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(libicalssinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(libicalssincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(libicalssincludedir)/$$f"; \
- done
+ @list='$(libicalssinclude_HEADERS)'; test -n "$(libicalssincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libicalssincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+cscopelist: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libicalssincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -635,16 +711,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -652,6 +734,7 @@ maintainer-clean-generic:
-rm -f icalsslexer.c
-rm -f icalssyacc.c
-rm -f icalssyacc.h
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
@@ -661,7 +744,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
@@ -669,18 +752,38 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
install-data-am: install-libicalssincludeHEADERS
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am: install-libLTLIBRARIES
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -701,26 +804,28 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
+uninstall-am: uninstall-libLTLIBRARIES \
uninstall-libicalssincludeHEADERS
+.MAKE: all check install install-am install-strip
+
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
+ clean-libLTLIBRARIES clean-libtool cscopelist ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
install-libLTLIBRARIES install-libicalssincludeHEADERS \
- install-man install-strip installcheck installcheck-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-info-am uninstall-libLTLIBRARIES \
+ uninstall-am uninstall-libLTLIBRARIES \
uninstall-libicalssincludeHEADERS
-all: icalss.h
-
# just to get it built
$(srcdir)/icalgauge.c: icalssyacc.h
$(srcdir)/icalsslexer.c: icalssyacc.h
@@ -742,6 +847,7 @@ icalss.h: $(COMBINEDHEADERS)
echo '}' >> icalss.h
echo '#endif' >> icalss.h
echo '#endif' >> icalss.h
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/libicalss/icalcalendar.c b/src/libicalss/icalcalendar.c
index 04380f6..c4a8152 100644
--- a/src/libicalss/icalcalendar.c
+++ b/src/libicalss/icalcalendar.c
@@ -49,6 +49,7 @@
#include <errno.h>
#ifdef WIN32
+#include <direct.h>
#define mkdir(path, mode) _mkdir(path)
#endif
@@ -89,9 +90,10 @@ icalerrorenum icalcalendar_create(struct icalcalendar_impl* impl)
icalerror_check_arg_re((impl != 0),"impl",ICAL_BADARG_ERROR);
path[0] = '\0';
- strcpy(path,impl->dir);
- strcat(path,"/");
- strcat(path,BOOKED_DIR);
+ strncpy(path,impl->dir,PATH_MAX-1);
+ strncat(path,"/",PATH_MAX-strlen(path)-1);
+ strncat(path,BOOKED_DIR,PATH_MAX-strlen(path)-1);
+ path[PATH_MAX-1] = '\0';
r = stat(path,&sbuf);
@@ -139,7 +141,7 @@ void icalcalendar_free(icalcalendar* impl)
}
if (impl->freebusy !=0){
- icalset_free(impl->booked);
+ icalset_free(impl->freebusy);
}
if (impl->properties !=0){
@@ -196,9 +198,10 @@ icalset* icalcalendar_get_booked(icalcalendar* impl)
icalerror_check_arg_rz((impl != 0),"impl");
dir[0] = '\0';
- strcpy(dir,impl->dir);
- strcat(dir,"/");
- strcat(dir,BOOKED_DIR);
+ strncpy(dir,impl->dir,PATH_MAX-1);
+ strncat(dir,"/",PATH_MAX-strlen(dir)-1);
+ strncat(dir,BOOKED_DIR,PATH_MAX-strlen(dir)-1);
+ dir[PATH_MAX-1] = '\0';
if (impl->booked == 0){
icalerror_clear_errno();
@@ -216,9 +219,10 @@ icalset* icalcalendar_get_incoming(icalcalendar* impl)
icalerror_check_arg_rz((impl != 0),"impl");
path[0] = '\0';
- strcpy(path,impl->dir);
- strcat(path,"/");
- strcat(path,INCOMING_FILE);
+ strncpy(path,impl->dir,PATH_MAX-1);
+ strncat(path,"/",PATH_MAX-strlen(path)-1);
+ strncat(path,INCOMING_FILE,PATH_MAX-strlen(path)-1);
+ path[PATH_MAX-1] = '\0';
if (impl->properties == 0){
impl->properties = icalfileset_new(path);
@@ -233,9 +237,10 @@ icalset* icalcalendar_get_properties(icalcalendar* impl)
icalerror_check_arg_rz((impl != 0),"impl");
path[0] = '\0';
- strcpy(path,impl->dir);
- strcat(path,"/");
- strcat(path,PROP_FILE);
+ strncpy(path,impl->dir,PATH_MAX-1);
+ strncat(path,"/",PATH_MAX-strlen(path)-1);
+ strncat(path,PROP_FILE,PATH_MAX-strlen(path)-1);
+ path[PATH_MAX-1] = '\0';
if (impl->properties == 0){
impl->properties = icalfileset_new(path);
@@ -250,10 +255,10 @@ icalset* icalcalendar_get_freebusy(icalcalendar* impl)
icalerror_check_arg_rz((impl != 0),"impl");
path[0] = '\0';
- strcpy(path,impl->dir);
- strcat(path,"/");
- strcat(path,FBLIST_FILE);
-
+ strncpy(path,impl->dir,PATH_MAX-1);
+ strncat(path,"/",PATH_MAX-strlen(path)-1);
+ strncat(path,FBLIST_FILE,PATH_MAX-strlen(path)-1);
+ path[PATH_MAX-1] = '\0';
if (impl->freebusy == 0){
impl->freebusy = icalfileset_new(path);
diff --git a/src/libicalss/icalcalendar.h b/src/libicalss/icalcalendar.h
index fb3d55a..3dcd1fb 100644
--- a/src/libicalss/icalcalendar.h
+++ b/src/libicalss/icalcalendar.h
@@ -30,7 +30,7 @@
#define ICALCALENDAR_H
#include <libical/ical.h>
-#include <icalset.h>
+#include "icalset.h"
/* icalcalendar
* Routines for storing calendar data in a file system. The calendar
diff --git a/src/libicalss/icalclassify.c b/src/libicalss/icalclassify.c
index 1963f91..50dc1b5 100644
--- a/src/libicalss/icalclassify.c
+++ b/src/libicalss/icalclassify.c
@@ -156,6 +156,7 @@ icalproperty* icalclassify_find_attendee(icalcomponent *c,
this_upn = strchr(this_attendee,':');
if(this_upn == 0){
+ free(this_attendee);
continue;
} else {
this_upn++;
@@ -475,10 +476,11 @@ int icalclassify_request_new_organizer(
icalclassify_pre
icalerror_set_errno(ICAL_UNIMPLEMENTED_ERROR);
icalclassify_post
+/* already done before.
(void)comp;
(void)match;
(void)user;
-
+*/
}
int icalclassify_request_status(
@@ -489,9 +491,11 @@ int icalclassify_request_status(
icalclassify_pre
icalerror_set_errno(ICAL_UNIMPLEMENTED_ERROR);
icalclassify_post
+/*
(void)comp;
(void)match;
(void)user;
+*/
}
int icalclassify_request_forward(
@@ -502,9 +506,11 @@ int icalclassify_request_forward(
icalclassify_pre
icalerror_set_errno(ICAL_UNIMPLEMENTED_ERROR);
icalclassify_post
+/*
(void)comp;
(void)match;
(void)user;
+*/
}
int icalclassify_request_freebusy(
@@ -515,9 +521,11 @@ int icalclassify_request_freebusy(
icalclassify_pre
icalerror_set_errno(ICAL_UNIMPLEMENTED_ERROR);
icalclassify_post
+/*
(void)comp;
(void)match;
(void)user;
+*/
}
int icalclassify_reply_accept(
diff --git a/src/libicalss/icalclassify.h b/src/libicalss/icalclassify.h
index ed6f297..b692e74 100644
--- a/src/libicalss/icalclassify.h
+++ b/src/libicalss/icalclassify.h
@@ -28,8 +28,8 @@
#define ICALCLASSIFY_H
#include <libical/ical.h>
-#include <icalset.h>
-#include <icalcomponent.h>
+#include "icalset.h"
+#include "icalcomponent.h"
icalproperty_xlicclass icalclassify(icalcomponent* c,icalcomponent* match,
const char* user);
diff --git a/src/libicalss/icalcluster.c b/src/libicalss/icalcluster.c
index 6b0b9f2..d1ab253 100644
--- a/src/libicalss/icalcluster.c
+++ b/src/libicalss/icalcluster.c
@@ -61,9 +61,9 @@
#include "icalclusterimpl.h"
#include "icalgauge.h"
-#ifdef WIN32
-#define snprintf _snprintf
-#define strcasecmp stricmp
+#if defined(_MSC_VER)
+#define snprintf _snprintf
+#define strcasecmp stricmp
#endif
diff --git a/src/libicalss/icalcluster.h b/src/libicalss/icalcluster.h
index 6f9cea4..6ce13c7 100644
--- a/src/libicalss/icalcluster.h
+++ b/src/libicalss/icalcluster.h
@@ -30,7 +30,7 @@
#define ICALCLUSTER_H
#include <libical/ical.h>
-#include <icalset.h>
+#include "icalset.h"
typedef struct icalcluster_impl icalcluster;
diff --git a/src/libicalss/icalcomponent.h b/src/libicalss/icalcomponent.h
index 3802581..c097ab3 100644
--- a/src/libicalss/icalcomponent.h
+++ b/src/libicalss/icalcomponent.h
@@ -7,17 +7,19 @@
(C) COPYRIGHT 1999 Eric Busboom
http://www.softwarestudio.org
- The contents of this file are subject to the Mozilla Public License
- Version 1.0 (the "License"); you may not use this file except in
- compliance with the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and
- limitations under the License.
-
- The original author is Eric Busboom
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ The LGPL as published by the Free Software Foundation, version
+ 2.1, available at: http://www.fsf.org/copyleft/lesser.html
+
+ Or:
+
+ The Mozilla Public License Version 1.0. You may obtain a copy of
+ the License at http://www.mozilla.org/MPL/
+
+ The Original Code is eric. The Initial Developer of the Original
+ Code is Eric Busboom
The original code is icalcomponent.h
======================================================================*/
diff --git a/src/libicalss/icaldirset.c b/src/libicalss/icaldirset.c
index cfdd372..852206f 100644
--- a/src/libicalss/icaldirset.c
+++ b/src/libicalss/icaldirset.c
@@ -65,7 +65,6 @@
#include "icalcluster.h"
#include "icalgauge.h"
-#include <limits.h> /* For PATH_MAX */
#ifndef WIN32
#include <dirent.h> /* for opendir() */
#include <unistd.h> /* for stat, getpid */
@@ -74,23 +73,22 @@
#include <io.h>
#include <process.h>
#endif
+
#include <errno.h>
#include <sys/types.h> /* for opendir() */
#include <sys/stat.h> /* for stat */
+#include <limits.h> /* For PATH_MAX */
#include <time.h> /* for clock() */
#include <stdlib.h> /* for rand(), srand() */
#include <string.h> /* for strdup */
#include "icaldirsetimpl.h"
-
-#ifdef WIN32
-#define snprintf _snprintf
-#define strcasecmp stricmp
-
+#if defined(_MSC_VER)
#define _S_ISTYPE(mode, mask) (((mode) & _S_IFMT) == (mask))
-
#define S_ISDIR(mode) _S_ISTYPE((mode), _S_IFDIR)
#define S_ISREG(mode) _S_ISTYPE((mode), _S_IFREG)
+#define snprintf _snprintf
+#define strcasecmp stricmp
#endif
/** Default options used when NULL is passed to icalset_new() **/
@@ -174,10 +172,10 @@ icalerrorenum icaldirset_read_directory(icaldirset *dset)
closedir(dp);
#else
- struct _finddata_t c_file;
- long hFile;
+ struct _finddata_t c_file;
+ intptr_t hFile;
- /* Find first .c file in current directory */
+ /* Find first .c file in current directory */
if( (hFile = _findfirst( "*", &c_file )) == -1L ) {
icalerror_set_errno(ICAL_FILE_ERROR);
return ICAL_FILE_ERROR;
@@ -407,7 +405,8 @@ static void icaldirset_add_uid(icalcomponent* comp)
uid = icalproperty_new_uid(uidstring);
icalcomponent_add_property(comp,uid);
} else {
- strcpy(uidstring,icalproperty_get_uid(uid));
+ strncpy(uidstring,icalproperty_get_uid(uid),ICAL_PATH_MAX-1);
+ uidstring[ICAL_PATH_MAX-1]='\0';
}
}
diff --git a/src/libicalss/icaldirset.h b/src/libicalss/icaldirset.h
index 492c4e1..75d7514 100644
--- a/src/libicalss/icaldirset.h
+++ b/src/libicalss/icaldirset.h
@@ -30,9 +30,9 @@
#define ICALDIRSET_H
#include <libical/ical.h>
-#include <icalset.h>
-#include <icalcluster.h>
-#include <icalgauge.h>
+#include "icalset.h"
+#include "icalcluster.h"
+#include "icalgauge.h"
/* icaldirset Routines for storing, fetching, and searching for ical
* objects in a database */
diff --git a/src/libicalss/icalfileset.c b/src/libicalss/icalfileset.c
index 358c4ab..9d73917 100644
--- a/src/libicalss/icalfileset.c
+++ b/src/libicalss/icalfileset.c
@@ -38,22 +38,27 @@
#include <unistd.h> /* for stat, getpid */
#else
#include <io.h>
+#ifndef _WIN32_WCE
#include <share.h>
#endif
+#endif
+
#include <stdlib.h>
#include <string.h>
#include <fcntl.h> /* for fcntl */
#include "icalfilesetimpl.h"
#include "icalclusterimpl.h"
-#ifdef WIN32
-#define snprintf _snprintf
-#define strcasecmp stricmp
-
+#if defined(_MSC_VER)
#define _S_ISTYPE(mode, mask) (((mode) & _S_IFMT) == (mask))
-
#define S_ISDIR(mode) _S_ISTYPE((mode), _S_IFDIR)
#define S_ISREG(mode) _S_ISTYPE((mode), _S_IFREG)
+#define snprintf _snprintf
+#define strcasecmp stricmp
+#endif
+
+#ifdef _WIN32_WCE
+#include <winbase.h>
#endif
/** Default options used when NULL is passed to icalset_new() **/
@@ -160,7 +165,7 @@ icalcluster* icalfileset_produce_icalcluster(const char *path) {
fileset = icalfileset_new_reader(path);
- if (fileset == 0 && icalerrno == ICAL_FILE_ERROR) {
+ if (fileset == 0 || icalerrno == ICAL_FILE_ERROR) {
/* file does not exist */
ret = icalcluster_new(path, NULL);
} else {
@@ -366,6 +371,10 @@ icalerrorenum icalfileset_commit(icalset* set)
icalcomponent *c;
off_t write_size=0;
icalfileset *fset = (icalfileset*) set;
+#ifdef _WIN32_WCE
+ wchar_t *wtmp=0;
+ PROCESS_INFORMATION pi;
+#endif
icalerror_check_arg_re((fset!=0),"set",ICAL_BADARG_ERROR);
@@ -378,18 +387,28 @@ icalerrorenum icalfileset_commit(icalset* set)
if (fset->options.safe_saves == 1) {
#ifndef WIN32
- char *quoted_file = shell_quote(fset->path);
- snprintf(tmp,ICAL_PATH_MAX,"cp '%s' '%s.bak'",fset->path, fset->path);
- free(quoted_file);
+ char *quoted_file = shell_quote(fset->path);
+ snprintf(tmp,ICAL_PATH_MAX,"cp '%s' '%s.bak'",fset->path, fset->path);
+ free(quoted_file);
#else
- snprintf(tmp,ICAL_PATH_MAX,"copy %s %s.bak", fset->path, fset->path);
+ snprintf(tmp,ICAL_PATH_MAX,"copy %s %s.bak", fset->path, fset->path);
#endif
- if(system(tmp) < 0){
- icalerror_set_errno(ICAL_FILE_ERROR);
- return ICAL_FILE_ERROR;
- }
+#ifndef _WIN32_WCE
+ if(system(tmp) < 0){
+#else
+
+ wtmp = wce_mbtowc(tmp);
+
+ if (CreateProcess (wtmp, L"", NULL, NULL, FALSE, 0, NULL, NULL, NULL,&pi)){
+#endif
+ icalerror_set_errno(ICAL_FILE_ERROR);
+ return ICAL_FILE_ERROR;
+ }
}
+#ifdef _WIN32_WCE
+ free(wtmp);
+#endif
if(lseek(fset->fd, 0, SEEK_SET) < 0){
icalerror_set_errno(ICAL_FILE_ERROR);
@@ -408,6 +427,7 @@ icalerrorenum icalfileset_commit(icalset* set)
if ( sz != strlen(str)){
perror("write");
icalerror_set_errno(ICAL_FILE_ERROR);
+ free(str);
return ICAL_FILE_ERROR;
}
@@ -422,7 +442,11 @@ icalerrorenum icalfileset_commit(icalset* set)
return ICAL_FILE_ERROR;
}
#else
+#ifndef _WIN32_WCE
chsize( fset->fd, tell( fset->fd ) );
+#else
+ SetEndOfFile(fset->fd);
+#endif
#endif
return ICAL_NO_ERROR;
@@ -760,6 +784,7 @@ icalsetiter icalfileset_begin_component(icalset* set, icalcomponent_kind kind, i
icalerror_check_arg_re((set!=0), "set", icalsetiter_null);
+ start = icaltime_from_timet( time(0),0);
itr.gauge = gauge;
citr = icalcomponent_begin_component(fset->cluster, kind);
@@ -837,6 +862,7 @@ icalcomponent* icalfileset_form_a_matched_recurrence_component(icalsetiter* itr)
icalproperty *dtstart, *rrule, *prop, *due;
struct icalrecurrencetype recur;
+ start = icaltime_from_timet( time(0),0);
comp = itr->last_component;
if (comp == NULL || itr->gauge == NULL) {
@@ -899,6 +925,8 @@ icalcomponent* icalfilesetiter_to_next(icalset* set, icalsetiter* i)
struct icalrecurrencetype recur;
int g = 0;
+ start = icaltime_from_timet( time(0),0);
+ next = icaltime_from_timet( time(0),0);
do {
c = icalcompiter_next(&(i->iter));
diff --git a/src/libicalss/icalfileset.h b/src/libicalss/icalfileset.h
index 64dba1f..c95c70f 100644
--- a/src/libicalss/icalfileset.h
+++ b/src/libicalss/icalfileset.h
@@ -30,9 +30,9 @@
#define ICALFILESET_H
#include <libical/ical.h>
-#include <icalset.h>
-#include <icalcluster.h>
-#include <icalgauge.h>
+#include "icalset.h"
+#include "icalcluster.h"
+#include "icalgauge.h"
#include <sys/types.h> /* For open() flags and mode */
#include <sys/stat.h> /* For open() flags and mode */
#include <fcntl.h> /* For open() flags and mode */
@@ -41,8 +41,6 @@
#define mode_t int
#endif
-extern int icalfileset_safe_saves;
-
typedef struct icalfileset_impl icalfileset;
icalset* icalfileset_new(const char* path);
diff --git a/src/libicalss/icalgauge.c b/src/libicalss/icalgauge.c
index 3598e71..64ef1ae 100644
--- a/src/libicalss/icalgauge.c
+++ b/src/libicalss/icalgauge.c
@@ -284,8 +284,6 @@ int icalgauge_compare(icalgauge* gauge,icalcomponent* comp)
icalerror_check_arg_rz( (comp!=0), "comp");
icalerror_check_arg_rz( (gauge!=0), "gauge");
- if (gauge == 0 || comp == 0) return 0;
-
inner = icalcomponent_get_first_real_component(comp);
if(inner == 0){
@@ -362,6 +360,7 @@ int icalgauge_compare(icalgauge* gauge,icalcomponent* comp)
} else {
sub_comp = icalcomponent_get_first_component(inner,w->comp);
if(sub_comp == 0){
+ icalvalue_free(v);
return 0;
}
}
diff --git a/src/libicalss/icalgauge.h b/src/libicalss/icalgauge.h
index 8333a4b..a2f5b7b 100644
--- a/src/libicalss/icalgauge.h
+++ b/src/libicalss/icalgauge.h
@@ -29,7 +29,7 @@
#ifndef ICALGAUGE_H
#define ICALGAUGE_H
-#include <icalcomponent.h>
+#include "icalcomponent.h"
/** @file icalgauge.h
* @brief Routines implementing a filter for ical components
diff --git a/src/libicalss/icalmessage.c b/src/libicalss/icalmessage.c
index 559fc44..9c99452 100644
--- a/src/libicalss/icalmessage.c
+++ b/src/libicalss/icalmessage.c
@@ -31,6 +31,11 @@
#include <ctype.h> /* for tolower()*/
#include <string.h> /* for strstr */
#include <stdlib.h> /* for free(), malloc() */
+
+#if defined(_MSC_VER)
+#define snprintf _snprintf
+#endif
+
icalcomponent* icalmessage_get_inner(icalcomponent* comp)
{
if (icalcomponent_isa(comp) == ICAL_VCALENDAR_COMPONENT){
@@ -43,12 +48,14 @@ icalcomponent* icalmessage_get_inner(icalcomponent* comp)
static char* lowercase(const char* str)
{
char* p = 0;
- char* n = icalmemory_strdup(str);
+ char* n = 0;
if(str ==0){
return 0;
}
+ n = icalmemory_strdup(str);
+
for(p = n; *p!=0; p++){
*p = tolower(*p);
}
@@ -72,6 +79,7 @@ icalproperty* icalmessage_find_attendee(icalcomponent* comp, const char* user)
lattendee = lowercase(icalproperty_get_attendee(p));
if (strstr(lattendee,user) != 0){
+ free(lattendee);
attendee = p;
break;
}
@@ -346,6 +354,7 @@ icalcomponent* icalmessage_new_error_reply(icalcomponent* c,
icalerror_check_arg_rz(c,"c");
+ memset(&rs, 0, sizeof(struct icalreqstattype));
reply = icalmessage_new_reply_base(c,user,msg);
inner = icalmessage_get_inner(reply);
cinner = icalmessage_get_inner(c);
diff --git a/src/libicalss/icalset.c b/src/libicalss/icalset.c
index 83acdb4..cd38033 100644
--- a/src/libicalss/icalset.c
+++ b/src/libicalss/icalset.c
@@ -313,10 +313,6 @@ icalset* icalset_new(icalset_kind kind, const char* dsn, void* options) {
return(NULL);
}
- if ( data == 0) {
- icalerror_set_errno(ICAL_NEWFAILED_ERROR);
- return 0;
- }
data->kind = kind;
data->dsn = strdup(dsn);
#endif
diff --git a/src/libicalss/icalset.h b/src/libicalss/icalset.h
index 66be3b7..b6929f0 100644
--- a/src/libicalss/icalset.h
+++ b/src/libicalss/icalset.h
@@ -41,7 +41,7 @@
#include <limits.h> /* For PATH_MAX */
#include <libical/ical.h>
-#include <icalgauge.h>
+#include "icalgauge.h"
#ifdef PATH_MAX
#define ICAL_PATH_MAX PATH_MAX
diff --git a/src/libicalss/icalspanlist.c b/src/libicalss/icalspanlist.c
index 3ea73ca..456abb1 100644
--- a/src/libicalss/icalspanlist.c
+++ b/src/libicalss/icalspanlist.c
@@ -175,6 +175,7 @@ icalspanlist* icalspanlist_new(icalset *set,
if ((freetime=(struct icaltime_span *)
malloc(sizeof(struct icaltime_span))) == 0){
icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+ icalspanlist_free(sl);
return 0;
}
@@ -207,6 +208,7 @@ icalspanlist* icalspanlist_new(icalset *set,
if ((freetime=(struct icaltime_span *)
malloc(sizeof(struct icaltime_span))) == 0){
icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+ icalspanlist_free(sl);
return 0;
}
@@ -541,6 +543,7 @@ icalspanlist *icalspanlist_from_vfreebusy(icalcomponent* comp)
if (s == 0) {
icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+ icalspanlist_free(sl);
return 0;
}
@@ -552,6 +555,7 @@ icalspanlist *icalspanlist_from_vfreebusy(icalcomponent* comp)
case ICAL_FBTYPE_NONE:
case ICAL_FBTYPE_X:
s->is_busy = 1;
+ break;
default:
s->is_busy = 0;
}
diff --git a/src/libicalss/icalspanlist.h b/src/libicalss/icalspanlist.h
index aa023f1..71056de 100644
--- a/src/libicalss/icalspanlist.h
+++ b/src/libicalss/icalspanlist.h
@@ -26,7 +26,7 @@
#define ICALSPANLIST_H
#include <libical/ical.h>
-#include <icalset.h>
+#include "icalset.h"
/** @file icalspanlist.h
* @brief Code that supports collections of free/busy spans of time
diff --git a/src/libicalss/icalsslexer.c b/src/libicalss/icalsslexer.c
index 8a71140..ae4a656 100644
--- a/src/libicalss/icalsslexer.c
+++ b/src/libicalss/icalsslexer.c
@@ -1,8 +1,11 @@
+
+
+#define YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
#define yy_create_buffer ss_create_buffer
#define yy_delete_buffer ss_delete_buffer
-#define yy_scan_buffer ss_scan_buffer
-#define yy_scan_string ss_scan_string
-#define yy_scan_bytes ss_scan_bytes
#define yy_flex_debug ss_flex_debug
#define yy_init_buffer ss_init_buffer
#define yy_flush_buffer ss_flush_buffer
@@ -11,79 +14,122 @@
#define yyin ssin
#define yyleng ssleng
#define yylex sslex
+#define yylineno sslineno
#define yyout ssout
#define yyrestart ssrestart
#define yytext sstext
#define yywrap sswrap
-
-/* A lexical scanner generated by flex*/
-
-/* Scanner skeleton version:
- * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
- */
+#define yyalloc ssalloc
+#define yyrealloc ssrealloc
+#define yyfree ssfree
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
#endif
+
+/* First, we deal with platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
#include <stdio.h>
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
+#ifdef _WIN32_WCE
+#include <io.h>
#endif
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
#endif
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t;
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
-#ifdef __cplusplus
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX (4294967295U)
+#endif
-#include <stdlib.h>
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
+#ifdef __cplusplus
/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST
#else /* ! __cplusplus */
-#if __STDC__
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
-#define YY_USE_PROTOS
#define YY_USE_CONST
-#endif /* __STDC__ */
+#endif /* defined (__STDC__) */
#endif /* ! __cplusplus */
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
/* Returned upon end-of-file. */
#define YY_NULL 0
@@ -98,80 +144,70 @@
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
-#define BEGIN yy_start = 1 + 2 *
+#define BEGIN (yy_start) = 1 + 2 *
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
-#define YY_START ((yy_start - 1) / 2)
+#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
+#define YY_NEW_FILE ssrestart(ssin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
#define YY_BUF_SIZE 16384
+#endif
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
-extern int yyleng;
-extern FILE *yyin, *yyout;
+extern int ssleng;
+
+extern FILE *ssin, *ssout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator). This
- * avoids problems with code like:
- *
- * if ( condition_holds )
- * yyless( 5 );
- * else
- * do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
+ #define YY_LESS_LINENO(n)
+
+/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up yytext. */ \
- *yy_cp = yy_hold_char; \
+ /* Undo effects of setting up sstext. */ \
+ int yyless_macro_arg = (n); \
+ YY_LESS_LINENO(yyless_macro_arg);\
+ *yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
- yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up sstext again */ \
} \
while ( 0 )
-#define unput(c) yyunput( c, yytext_ptr )
+#define unput(c) yyunput( c, (yytext_ptr) )
-/* Some routines like yy_flex_realloc() are emitted as static but are
- not called by all lexers. This generates warnings in some compilers,
- notably GCC. Arrange to suppress these. */
-#ifdef __GNUC__
-#define YY_MAY_BE_UNUSED __attribute__((unused))
-#else
-#define YY_MAY_BE_UNUSED
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
#endif
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
struct yy_buffer_state
{
FILE *yy_input_file;
@@ -208,12 +244,16 @@ struct yy_buffer_state
*/
int yy_at_bol;
+ int yy_bs_lineno; /**< The line count. */
+ int yy_bs_column; /**< The column count. */
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
int yy_fill_buffer;
int yy_buffer_status;
+
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
/* When an EOF's been seen but there's still some text to process
@@ -223,102 +263,137 @@ struct yy_buffer_state
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
- * (via yyrestart()), so that the user can continue scanning by
- * just pointing yyin at a new input file.
+ * (via ssrestart()), so that the user can continue scanning by
+ * just pointing ssin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
+
};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-static YY_BUFFER_STATE yy_current_buffer = 0;
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
* "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
*/
-#define YY_CURRENT_BUFFER yy_current_buffer
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+ : NULL)
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-/* yy_hold_char holds the character lost when yytext is formed. */
+/* yy_hold_char holds the character lost when sstext is formed. */
static char yy_hold_char;
-
static int yy_n_chars; /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
+int ssleng;
/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1; /* whether we need to initialize */
+static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin. A bit of a hack ...
+/* Flag which is used to allow sswrap()'s to do buffer switches
+ * instead of setting up a fresh ssin. A bit of a hack ...
*/
static int yy_did_buffer_switch_on_eof;
-void yyrestart YY_PROTO(( FILE *input_file ));
+void ssrestart (FILE *input_file );
+void ss_switch_to_buffer (YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE ss_create_buffer (FILE *file,int size );
+void ss_delete_buffer (YY_BUFFER_STATE b );
+void ss_flush_buffer (YY_BUFFER_STATE b );
+void sspush_buffer_state (YY_BUFFER_STATE new_buffer );
+void sspop_buffer_state (void );
+
+static void ssensure_buffer_stack (void );
+static void ss_load_buffer_state (void );
+static void ss_init_buffer (YY_BUFFER_STATE b,FILE *file );
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+#define YY_FLUSH_BUFFER ss_flush_buffer(YY_CURRENT_BUFFER )
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+YY_BUFFER_STATE ss_scan_buffer (char *base,yy_size_t size );
+YY_BUFFER_STATE ss_scan_string (yyconst char *yy_str );
+YY_BUFFER_STATE ss_scan_bytes (yyconst char *bytes,int len );
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
-static void yy_flex_free YY_PROTO(( void * ));
+void *ssalloc (yy_size_t );
+void *ssrealloc (void *,yy_size_t );
+void ssfree (void * );
-#define yy_new_buffer yy_create_buffer
+#define yy_new_buffer ss_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_is_interactive = is_interactive; \
+ if ( ! YY_CURRENT_BUFFER ){ \
+ ssensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+ ss_create_buffer(ssin,YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
#define yy_set_bol(at_bol) \
{ \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_at_bol = at_bol; \
+ if ( ! YY_CURRENT_BUFFER ){\
+ ssensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+ ss_create_buffer(ssin,YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+FILE *ssin = (FILE *) 0, *ssout = (FILE *) 0;
+
typedef int yy_state_type;
-extern char yytext[];
+extern int sslineno;
+
+int sslineno = 1;
+
+extern char sstext[];
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[] );
/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
+ * corresponding action - sets up sstext.
*/
#define YY_DO_BEFORE_ACTION \
- yytext_ptr = yy_bp; \
- yyleng = (int) (yy_cp - yy_bp); \
- yy_hold_char = *yy_cp; \
+ (yytext_ptr) = yy_bp; \
+ ssleng = (size_t) (yy_cp - yy_bp); \
+ (yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
- if ( yyleng >= YYLMAX ) \
+ if ( ssleng >= YYLMAX ) \
YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
- yy_flex_strncpy( yytext, yytext_ptr, yyleng + 1 ); \
- yy_c_buf_p = yy_cp;
+ yy_flex_strncpy( sstext, (yytext_ptr), ssleng + 1 ); \
+ (yy_c_buf_p) = yy_cp;
#define YY_NUM_RULES 23
#define YY_END_OF_BUFFER 24
-static yyconst short int yy_accept[56] =
+/* This struct is not used in this scanner,
+ but its presence is necessary. */
+struct yy_trans_info
+ {
+ flex_int32_t yy_verify;
+ flex_int32_t yy_nxt;
+ };
+static yyconst flex_int16_t yy_accept[56] =
{ 0,
0, 0, 0, 0, 0, 0, 24, 22, 18, 18,
22, 17, 21, 4, 19, 8, 5, 9, 21, 21,
@@ -328,7 +403,7 @@ static yyconst short int yy_accept[56] =
21, 21, 3, 1, 0
} ;
-static yyconst int yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
@@ -339,10 +414,10 @@ static yyconst int yy_ec[256] =
12, 13, 1, 7, 14, 7, 15, 16, 17, 18,
7, 19, 20, 7, 7, 21, 22, 23, 24, 7,
7, 25, 26, 27, 28, 7, 29, 7, 7, 7,
- 1, 1, 1, 1, 1, 1, 14, 7, 15, 16,
+ 1, 1, 1, 1, 1, 1, 30, 7, 31, 32,
- 17, 18, 7, 19, 20, 7, 7, 21, 22, 23,
- 24, 7, 7, 25, 26, 27, 28, 7, 29, 7,
+ 33, 34, 7, 35, 36, 7, 7, 37, 38, 39,
+ 40, 7, 7, 41, 42, 43, 44, 7, 45, 7,
7, 7, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -360,24 +435,26 @@ static yyconst int yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst int yy_meta[30] =
+static yyconst flex_int32_t yy_meta[46] =
{ 0,
1, 1, 1, 2, 1, 1, 3, 1, 2, 1,
1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3
} ;
-static yyconst short int yy_base[58] =
+static yyconst flex_int16_t yy_base[58] =
{ 0,
- 0, 0, 0, 0, 0, 0, 68, 69, 28, 31,
- 55, 0, 0, 69, 69, 54, 53, 52, 40, 37,
- 35, 12, 35, 42, 39, 35, 69, 51, 0, 69,
- 69, 69, 40, 31, 0, 27, 32, 0, 31, 34,
- 69, 0, 28, 0, 28, 31, 22, 0, 0, 31,
- 28, 17, 0, 0, 69, 39, 40
+ 0, 0, 0, 0, 0, 0, 98, 107, 44, 47,
+ 85, 0, 0, 107, 107, 84, 83, 79, 29, 28,
+ 28, 31, 31, 40, 39, 58, 107, 84, 0, 107,
+ 107, 107, 47, 40, 0, 38, 45, 0, 46, 59,
+ 107, 0, 55, 0, 57, 67, 60, 0, 0, 71,
+ 70, 61, 0, 0, 107, 103, 86
} ;
-static yyconst short int yy_def[58] =
+static yyconst flex_int16_t yy_def[58] =
{ 0,
55, 1, 1, 1, 1, 1, 55, 55, 55, 55,
55, 56, 57, 55, 55, 55, 55, 55, 57, 57,
@@ -387,39 +464,54 @@ static yyconst short int yy_def[58] =
57, 57, 57, 57, 0, 55, 55
} ;
-static yyconst short int yy_nxt[99] =
+static yyconst flex_int16_t yy_nxt[153] =
{ 0,
8, 9, 10, 9, 11, 12, 13, 14, 8, 15,
16, 17, 18, 19, 13, 13, 13, 20, 13, 21,
- 13, 13, 22, 23, 13, 24, 13, 13, 25, 26,
- 26, 26, 26, 26, 26, 36, 26, 26, 26, 37,
- 28, 28, 29, 54, 53, 52, 51, 50, 49, 48,
- 47, 46, 45, 44, 43, 42, 41, 40, 39, 38,
- 35, 34, 33, 32, 31, 30, 27, 55, 7, 55,
+ 13, 13, 22, 23, 13, 24, 13, 13, 25, 19,
+ 13, 13, 13, 20, 13, 21, 13, 13, 22, 23,
+ 13, 24, 13, 13, 25, 26, 26, 26, 26, 26,
+ 26, 33, 34, 35, 36, 38, 39, 40, 37, 26,
+ 26, 26, 42, 43, 44, 45, 46, 33, 34, 35,
+ 36, 38, 39, 40, 37, 47, 48, 49, 42, 43,
+ 44, 45, 46, 50, 51, 52, 53, 54, 29, 41,
+ 32, 47, 48, 49, 31, 30, 27, 55, 55, 50,
+
+ 51, 52, 53, 54, 28, 28, 7, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55
-
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55
} ;
-static yyconst short int yy_chk[99] =
+static yyconst flex_int16_t yy_chk[153] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 9,
- 9, 9, 10, 10, 10, 22, 26, 26, 26, 22,
- 56, 56, 57, 52, 51, 50, 47, 46, 45, 43,
- 40, 39, 37, 36, 34, 33, 28, 25, 24, 23,
- 21, 20, 19, 18, 17, 16, 11, 7, 55, 55,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 9, 9, 9, 10, 10,
+ 10, 19, 20, 21, 22, 23, 24, 25, 22, 26,
+ 26, 26, 33, 34, 36, 37, 39, 19, 20, 21,
+ 22, 23, 24, 25, 22, 40, 43, 45, 33, 34,
+ 36, 37, 39, 46, 47, 50, 51, 52, 57, 28,
+ 18, 40, 43, 45, 17, 16, 11, 7, 0, 46,
+
+ 47, 50, 51, 52, 56, 56, 55, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55
-
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55
} ;
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
+extern int ss_flex_debug;
+int ss_flex_debug = 0;
+
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
@@ -431,11 +523,8 @@ static char *yy_last_accepting_cpos;
#define YYLMAX 8192
#endif
-char yytext[YYLMAX];
+char sstext[YYLMAX];
char *yytext_ptr;
-#line 1 "icalsslexer.l"
-#define INITIAL 0
-#line 2 "icalsslexer.l"
/* -*- Mode: C -*-
======================================================================
FILE: icalsslexer.l
@@ -473,11 +562,11 @@ char *yytext_ptr;
const char* input_buffer;
const char* input_buffer_p;
-#define min(a,b) ((a) < (b) ? (a) : (b))
+#define minInt(a,b) ((a) < (b) ? (a) : (b))
int icalss_input(char* buf, int max_size)
{
- int n = min(max_size,strlen(input_buffer_p));
+ int n = minInt(max_size,strlen(input_buffer_p));
if (n > 0){
memcpy(buf, input_buffer_p, n);
@@ -494,10 +583,54 @@ int icalss_input(char* buf, int max_size)
#undef SS_FATAL_ERROR
#define SS_FATAL_ERROR(msg) sserror(msg)
+
+
+#define INITIAL 0
#define sql 1
#define string_value 2
-#line 497 "icalsslexer.c"
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+ These are made visible to non-reentrant scanners for convenience. */
+
+int sslex_destroy (void );
+
+int ssget_debug (void );
+
+void ssset_debug (int debug_flag );
+
+YY_EXTRA_TYPE ssget_extra (void );
+
+void ssset_extra (YY_EXTRA_TYPE user_defined );
+
+FILE *ssget_in (void );
+
+void ssset_in (FILE * in_str );
+
+FILE *ssget_out (void );
+
+void ssset_out (FILE * out_str );
+
+int ssget_leng (void );
+
+char *ssget_text (void );
+
+int ssget_lineno (void );
+
+void ssset_lineno (int line_number );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -505,65 +638,30 @@ int icalss_input(char* buf, int max_size)
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
+extern "C" int sswrap (void );
#else
-extern int yywrap YY_PROTO(( void ));
+extern int sswrap (void );
#endif
#endif
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
+ static void yyunput (int c,char *buf_ptr );
+
#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+static void yy_flex_strncpy (char *,yyconst char *,int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+static int yy_flex_strlen (yyconst char * );
#endif
#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
+#ifdef __cplusplus
+static int yyinput (void );
#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
+static int input (void );
#endif
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines. This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
#endif
/* Amount of stuff to slurp up with each read. */
@@ -572,12 +670,11 @@ YY_MALLOC_DECL
#endif
/* Copy whatever the last rule matched to the standard output. */
-
#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#define ECHO do { if (fwrite( sstext, ssleng, 1, ssout )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -585,21 +682,35 @@ YY_MALLOC_DECL
*/
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
- if ( yy_current_buffer->yy_is_interactive ) \
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
- int c = '*', n; \
+ int c = '*'; \
+ size_t n; \
for ( n = 0; n < max_size && \
- (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ (c = getc( ssin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
- if ( c == EOF && ferror( yyin ) ) \
+ if ( c == EOF && ferror( ssin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
- else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
- && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" );
+ else \
+ { \
+ errno=0; \
+ while ( (result = fread(buf, 1, max_size, ssin))==0 && ferror(ssin)) \
+ { \
+ if( errno != EINTR) \
+ { \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ break; \
+ } \
+ errno=0; \
+ clearerr(ssin); \
+ } \
+ }\
+\
+
#endif
/* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -620,14 +731,20 @@ YY_MALLOC_DECL
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif
+/* end tables serialization structures and prototypes */
+
/* Default declaration of generated scanner - a define so the user can
* easily add parameters.
*/
#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
+#define YY_DECL_IS_OURS 1
-/* Code executed at the beginning of each rule, after yytext and yyleng
+extern int sslex (void);
+
+#define YY_DECL int sslex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after sstext and ssleng
* have been set up.
*/
#ifndef YY_USER_ACTION
@@ -642,66 +759,68 @@ YY_MALLOC_DECL
#define YY_RULE_SETUP \
YY_USER_ACTION
+/** The main scanner function which does all the work.
+ */
YY_DECL
- {
+{
register yy_state_type yy_current_state;
- register char *yy_cp = NULL, *yy_bp = NULL;
+ register char *yy_cp, *yy_bp;
register int yy_act;
-
-#line 83 "icalsslexer.l"
+
-#line 655 "icalsslexer.c"
- if ( yy_init )
+ if ( !(yy_init) )
{
- yy_init = 0;
+ (yy_init) = 1;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
- if ( ! yy_start )
- yy_start = 1; /* first start state */
+ if ( ! (yy_start) )
+ (yy_start) = 1; /* first start state */
- if ( ! yyin )
- yyin = stdin;
+ if ( ! ssin )
+ ssin = stdin;
- if ( ! yyout )
- yyout = stdout;
+ if ( ! ssout )
+ ssout = stdout;
- if ( ! yy_current_buffer )
- yy_current_buffer =
- yy_create_buffer( yyin, YY_BUF_SIZE );
+ if ( ! YY_CURRENT_BUFFER ) {
+ ssensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+ ss_create_buffer(ssin,YY_BUF_SIZE );
+ }
- yy_load_buffer_state();
+ ss_load_buffer_state( );
}
while ( 1 ) /* loops until end-of-file is reached */
{
- yy_cp = yy_c_buf_p;
+ yy_cp = (yy_c_buf_p);
- /* Support of yytext. */
- *yy_cp = yy_hold_char;
+ /* Support of sstext. */
+ *yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
- yy_current_state = yy_start;
+ yy_current_state = (yy_start);
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
@@ -712,135 +831,116 @@ yy_match:
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 69 );
+ while ( yy_base[yy_current_state] != 107 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
if ( yy_act == 0 )
{ /* have to back up */
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
yy_act = yy_accept[yy_current_state];
}
YY_DO_BEFORE_ACTION;
-
do_action: /* This label is used only to access EOF actions. */
-
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
+ *yy_cp = (yy_hold_char);
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
goto yy_find_action;
case 1:
YY_RULE_SETUP
-#line 89 "icalsslexer.l"
{ return SELECT; }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 90 "icalsslexer.l"
{ return FROM; }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 91 "icalsslexer.l"
{ return WHERE; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 92 "icalsslexer.l"
{ return COMMA; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 93 "icalsslexer.l"
{ return EQUALS; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 94 "icalsslexer.l"
{ return EQUALS; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 95 "icalsslexer.l"
{ return NOTEQUALS; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 96 "icalsslexer.l"
{ return LESS; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 97 "icalsslexer.l"
{ return GREATER; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 98 "icalsslexer.l"
{ return LESSEQUALS; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 99 "icalsslexer.l"
{ return GREATEREQUALS; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 100 "icalsslexer.l"
{ return AND; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 101 "icalsslexer.l"
{ return OR; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 102 "icalsslexer.l"
{ return IS; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 103 "icalsslexer.l"
{ return NOT; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 104 "icalsslexer.l"
{ return SQLNULL; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 105 "icalsslexer.l"
{ return QUOTE; }
YY_BREAK
case 18:
+/* rule 18 can match eol */
YY_RULE_SETUP
-#line 106 "icalsslexer.l"
;
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 107 "icalsslexer.l"
{ return EOL; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 109 "icalsslexer.l"
{
int c = input();
- unput(c);
+ if(c != EOF){
+ unput(c);
+ }
if(c!='\''){
- sslval.v_string= icalmemory_tmp_copy(yytext);
+ sslval.v_string= icalmemory_tmp_copy(sstext);
return STRING;
} else {
/*ssmore();*/
@@ -849,23 +949,19 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 120 "icalsslexer.l"
{
- sslval.v_string= icalmemory_tmp_copy(yytext);
+ sslval.v_string= icalmemory_tmp_copy(sstext);
return STRING;
}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 126 "icalsslexer.l"
-{ return yytext[0]; }
+{ return sstext[0]; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 128 "icalsslexer.l"
ECHO;
YY_BREAK
-#line 865 "icalsslexer.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(sql):
case YY_STATE_EOF(string_value):
@@ -874,26 +970,26 @@ case YY_STATE_EOF(string_value):
case YY_END_OF_BUFFER:
{
/* Amount of text matched not including the EOB char. */
- int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
/* Undo the effects of YY_DO_BEFORE_ACTION. */
- *yy_cp = yy_hold_char;
+ *yy_cp = (yy_hold_char);
YY_RESTORE_YY_MORE_OFFSET
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
- * just pointed yyin at a new source and called
- * yylex(). If so, then we have to assure
- * consistency between yy_current_buffer and our
+ * just pointed ssin at a new source and called
+ * sslex(). If so, then we have to assure
+ * consistency between YY_CURRENT_BUFFER and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yy_current_buffer->yy_input_file = yyin;
- yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = ssin;
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
}
/* Note that here we test for yy_c_buf_p "<=" to the position
@@ -903,13 +999,13 @@ case YY_STATE_EOF(string_value):
* end-of-buffer state). Contrast this with the test
* in input().
*/
- if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
{ /* This was really a NUL. */
yy_state_type yy_next_state;
- yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+ (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
- yy_current_state = yy_get_previous_state();
+ yy_current_state = yy_get_previous_state( );
/* Okay, we're now positioned to make the NUL
* transition. We couldn't have
@@ -922,41 +1018,41 @@ case YY_STATE_EOF(string_value):
yy_next_state = yy_try_NUL_trans( yy_current_state );
- yy_bp = yytext_ptr + YY_MORE_ADJ;
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
if ( yy_next_state )
{
/* Consume the NUL. */
- yy_cp = ++yy_c_buf_p;
+ yy_cp = ++(yy_c_buf_p);
yy_current_state = yy_next_state;
goto yy_match;
}
else
{
- yy_cp = yy_c_buf_p;
+ yy_cp = (yy_c_buf_p);
goto yy_find_action;
}
}
- else switch ( yy_get_next_buffer() )
+ else switch ( yy_get_next_buffer( ) )
{
case EOB_ACT_END_OF_FILE:
{
- yy_did_buffer_switch_on_eof = 0;
+ (yy_did_buffer_switch_on_eof) = 0;
- if ( yywrap() )
+ if ( sswrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
- * yytext, we can now set up
+ * sstext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
* YY_NULL, it'll still work - another
* YY_NULL will get returned.
*/
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
yy_act = YY_STATE_EOF(YY_START);
goto do_action;
@@ -964,30 +1060,30 @@ case YY_STATE_EOF(string_value):
else
{
- if ( ! yy_did_buffer_switch_on_eof )
+ if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
}
break;
}
case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p =
- yytext_ptr + yy_amount_of_matched_text;
+ (yy_c_buf_p) =
+ (yytext_ptr) + yy_amount_of_matched_text;
- yy_current_state = yy_get_previous_state();
+ yy_current_state = yy_get_previous_state( );
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
+ yy_cp = (yy_c_buf_p);
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
goto yy_match;
case EOB_ACT_LAST_MATCH:
- yy_c_buf_p =
- &yy_current_buffer->yy_ch_buf[yy_n_chars];
+ (yy_c_buf_p) =
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
- yy_current_state = yy_get_previous_state();
+ yy_current_state = yy_get_previous_state( );
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
+ yy_cp = (yy_c_buf_p);
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
goto yy_find_action;
}
break;
@@ -998,8 +1094,7 @@ case YY_STATE_EOF(string_value):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
- } /* end of yylex */
-
+} /* end of sslex */
/* yy_get_next_buffer - try to read in a new buffer
*
@@ -1008,21 +1103,20 @@ case YY_STATE_EOF(string_value):
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position
* EOB_ACT_END_OF_FILE - end of file
*/
-
-static int yy_get_next_buffer()
- {
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
+static int yy_get_next_buffer (void)
+{
+ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ register char *source = (yytext_ptr);
register int number_to_move, i;
int ret_val;
- if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed" );
- if ( yy_current_buffer->yy_fill_buffer == 0 )
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
{ /* Don't try to fill the buffer, so this is an EOF. */
- if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
{
/* We matched a single character, the EOB, so
* treat this as a final EOF.
@@ -1042,34 +1136,30 @@ static int yy_get_next_buffer()
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
- yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
else
{
- int num_to_read =
- yy_current_buffer->yy_buf_size - number_to_move - 1;
+ int num_to_read =
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
- YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
/* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = yy_current_buffer;
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
int yy_c_buf_p_offset =
- (int) (yy_c_buf_p - b->yy_ch_buf);
+ (int) ((yy_c_buf_p) - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
@@ -1082,8 +1172,7 @@ static int yy_get_next_buffer()
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- yy_flex_realloc( (void *) b->yy_ch_buf,
- b->yy_buf_size + 2 );
+ ssrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
@@ -1093,35 +1182,35 @@ static int yy_get_next_buffer()
YY_FATAL_ERROR(
"fatal error - scanner input buffer overflow" );
- yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+ (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
- num_to_read = yy_current_buffer->yy_buf_size -
+ num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
number_to_move - 1;
-#endif
+
}
if ( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE;
/* Read in more data. */
- YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
- yy_n_chars, num_to_read );
+ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+ (yy_n_chars), (size_t) num_to_read );
- yy_current_buffer->yy_n_chars = yy_n_chars;
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
}
- if ( yy_n_chars == 0 )
+ if ( (yy_n_chars) == 0 )
{
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
+ ssrestart(ssin );
}
else
{
ret_val = EOB_ACT_LAST_MATCH;
- yy_current_buffer->yy_buffer_status =
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
YY_BUFFER_EOF_PENDING;
}
}
@@ -1129,32 +1218,39 @@ static int yy_get_next_buffer()
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- yy_n_chars += number_to_move;
- yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
- yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+ if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ /* Extend the array by 50%, plus the number we really need. */
+ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ssrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ }
- yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+ (yy_n_chars) += number_to_move;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
- return ret_val;
- }
+ (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+ return ret_val;
+}
/* yy_get_previous_state - get the state just before the EOB char was reached */
-static yy_state_type yy_get_previous_state()
- {
+ static yy_state_type yy_get_previous_state (void)
+{
register yy_state_type yy_current_state;
register char *yy_cp;
+
+ yy_current_state = (yy_start);
- yy_current_state = yy_start;
-
- for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
@@ -1166,30 +1262,23 @@ static yy_state_type yy_get_previous_state()
}
return yy_current_state;
- }
-
+}
/* yy_try_NUL_trans - try to make a transition on the NUL character
*
* synopsis
* next_state = yy_try_NUL_trans( current_state );
*/
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
- {
+ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
+{
register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
+ register char *yy_cp = (yy_c_buf_p);
register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
@@ -1201,81 +1290,73 @@ yy_state_type yy_current_state;
yy_is_jam = (yy_current_state == 55);
return yy_is_jam ? 0 : yy_current_state;
- }
-
+}
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
- {
- register char *yy_cp = yy_c_buf_p;
+ static void yyunput (int c, register char * yy_bp )
+{
+ register char *yy_cp;
+
+ yy_cp = (yy_c_buf_p);
- /* undo effects of setting up yytext */
- *yy_cp = yy_hold_char;
+ /* undo effects of setting up sstext */
+ *yy_cp = (yy_hold_char);
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
- yy_current_buffer->yy_buf_size + 2];
+ register int number_to_move = (yy_n_chars) + 2;
+ register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
register char *source =
- &yy_current_buffer->yy_ch_buf[number_to_move];
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
- while ( source > yy_current_buffer->yy_ch_buf )
+ while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
*--dest = *--source;
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
- yy_current_buffer->yy_n_chars =
- yy_n_chars = yy_current_buffer->yy_buf_size;
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
}
*--yy_cp = (char) c;
-
- yytext_ptr = yy_bp;
- yy_hold_char = *yy_cp;
- yy_c_buf_p = yy_cp;
- }
-#endif /* ifndef YY_NO_UNPUT */
-
+ (yytext_ptr) = yy_bp;
+ (yy_hold_char) = *yy_cp;
+ (yy_c_buf_p) = yy_cp;
+}
#ifndef YY_NO_INPUT
#ifdef __cplusplus
-static int yyinput()
+ static int yyinput (void)
#else
-static int input()
+ static int input (void)
#endif
- {
- int c;
- *yy_c_buf_p = yy_hold_char;
+{
+ int c;
+
+ *(yy_c_buf_p) = (yy_hold_char);
- if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
{
/* yy_c_buf_p now points to the character we want to return.
* If this occurs *before* the EOB characters, then it's a
* valid NUL; if not, then we've hit the end of the buffer.
*/
- if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
/* This was really a NUL. */
- *yy_c_buf_p = '\0';
+ *(yy_c_buf_p) = '\0';
else
{ /* need more input */
- int offset = yy_c_buf_p - yytext_ptr;
- ++yy_c_buf_p;
+ int offset = (yy_c_buf_p) - (yytext_ptr);
+ ++(yy_c_buf_p);
- switch ( yy_get_next_buffer() )
+ switch ( yy_get_next_buffer( ) )
{
case EOB_ACT_LAST_MATCH:
/* This happens because yy_g_n_b()
@@ -1289,16 +1370,16 @@ static int input()
*/
/* Reset buffer status. */
- yyrestart( yyin );
+ ssrestart(ssin );
- /* fall through */
+ /*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( yywrap() )
+ if ( sswrap( ) )
return EOF;
- if ( ! yy_did_buffer_switch_on_eof )
+ if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
#ifdef __cplusplus
return yyinput();
@@ -1308,167 +1389,169 @@ static int input()
}
case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext_ptr + offset;
+ (yy_c_buf_p) = (yytext_ptr) + offset;
break;
}
}
}
- c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
- *yy_c_buf_p = '\0'; /* preserve yytext */
- yy_hold_char = *++yy_c_buf_p;
-
+ c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
+ *(yy_c_buf_p) = '\0'; /* preserve sstext */
+ (yy_hold_char) = *++(yy_c_buf_p);
return c;
- }
-#endif /* YY_NO_INPUT */
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
- {
- if ( ! yy_current_buffer )
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+}
+#endif /* ifndef YY_NO_INPUT */
- yy_init_buffer( yy_current_buffer, input_file );
- yy_load_buffer_state();
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ *
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+ void ssrestart (FILE * input_file )
+{
+
+ if ( ! YY_CURRENT_BUFFER ){
+ ssensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+ ss_create_buffer(ssin,YY_BUF_SIZE );
}
+ ss_init_buffer(YY_CURRENT_BUFFER,input_file );
+ ss_load_buffer_state( );
+}
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
- {
- if ( yy_current_buffer == new_buffer )
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ *
+ */
+ void ss_switch_to_buffer (YY_BUFFER_STATE new_buffer )
+{
+
+ /* TODO. We should be able to replace this entire function body
+ * with
+ * sspop_buffer_state();
+ * sspush_buffer_state(new_buffer);
+ */
+ ssensure_buffer_stack ();
+ if ( YY_CURRENT_BUFFER == new_buffer )
return;
- if ( yy_current_buffer )
+ if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
- *yy_c_buf_p = yy_hold_char;
- yy_current_buffer->yy_buf_pos = yy_c_buf_p;
- yy_current_buffer->yy_n_chars = yy_n_chars;
+ *(yy_c_buf_p) = (yy_hold_char);
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
}
- yy_current_buffer = new_buffer;
- yy_load_buffer_state();
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+ ss_load_buffer_state( );
/* We don't actually know whether we did this switch during
- * EOF (yywrap()) processing, but the only time this flag
- * is looked at is after yywrap() is called, so it's safe
+ * EOF (sswrap()) processing, but the only time this flag
+ * is looked at is after sswrap() is called, so it's safe
* to go ahead and always set it.
*/
- yy_did_buffer_switch_on_eof = 1;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
- {
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
- yyin = yy_current_buffer->yy_input_file;
- yy_hold_char = *yy_c_buf_p;
- }
+ (yy_did_buffer_switch_on_eof) = 1;
+}
+static void ss_load_buffer_state (void)
+{
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+ (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+ ssin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ (yy_hold_char) = *(yy_c_buf_p);
+}
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
- {
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ *
+ * @return the allocated buffer state.
+ */
+ YY_BUFFER_STATE ss_create_buffer (FILE * file, int size )
+{
YY_BUFFER_STATE b;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+
+ b = (YY_BUFFER_STATE) ssalloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in ss_create_buffer()" );
b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ b->yy_ch_buf = (char *) ssalloc(b->yy_buf_size + 2 );
if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in ss_create_buffer()" );
b->yy_is_our_buffer = 1;
- yy_init_buffer( b, file );
+ ss_init_buffer(b,file );
return b;
- }
-
+}
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
- {
+/** Destroy the buffer.
+ * @param b a buffer created with ss_create_buffer()
+ *
+ */
+ void ss_delete_buffer (YY_BUFFER_STATE b )
+{
+
if ( ! b )
return;
- if ( b == yy_current_buffer )
- yy_current_buffer = (YY_BUFFER_STATE) 0;
+ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- yy_flex_free( (void *) b->yy_ch_buf );
-
- yy_flex_free( (void *) b );
- }
-
+ ssfree((void *) b->yy_ch_buf );
+ ssfree((void *) b );
+}
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a ssrestart() or at EOF.
+ */
+ static void ss_init_buffer (YY_BUFFER_STATE b, FILE * file )
- {
- yy_flush_buffer( b );
+{
+ int oerrno = errno;
+
+ ss_flush_buffer(b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
-#if YY_ALWAYS_INTERACTIVE
- b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
- b->yy_is_interactive = 0;
-#else
- b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
- }
-
+ /* If b is the current buffer, then ss_init_buffer was _probably_
+ * called from ssrestart() or through yy_get_next_buffer.
+ * In that case, we don't want to reset the lineno or column.
+ */
+ if (b != YY_CURRENT_BUFFER){
+ b->yy_bs_lineno = 1;
+ b->yy_bs_column = 0;
+ }
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+
+ errno = oerrno;
+}
- {
- if ( ! b )
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ *
+ */
+ void ss_flush_buffer (YY_BUFFER_STATE b )
+{
+ if ( ! b )
return;
b->yy_n_chars = 0;
@@ -1485,31 +1568,127 @@ YY_BUFFER_STATE b;
b->yy_at_bol = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
- if ( b == yy_current_buffer )
- yy_load_buffer_state();
+ if ( b == YY_CURRENT_BUFFER )
+ ss_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ * the current state. This function will allocate the stack
+ * if necessary.
+ * @param new_buffer The new state.
+ *
+ */
+void sspush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+ if (new_buffer == NULL)
+ return;
+
+ ssensure_buffer_stack();
+
+ /* This block is copied from ss_switch_to_buffer. */
+ if ( YY_CURRENT_BUFFER )
+ {
+ /* Flush out information for old buffer. */
+ *(yy_c_buf_p) = (yy_hold_char);
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+ }
+
+ /* Only push if top exists. Otherwise, replace top. */
+ if (YY_CURRENT_BUFFER)
+ (yy_buffer_stack_top)++;
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+ /* copied from ss_switch_to_buffer. */
+ ss_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ * The next element becomes the new top.
+ *
+ */
+void sspop_buffer_state (void)
+{
+ if (!YY_CURRENT_BUFFER)
+ return;
+
+ ss_delete_buffer(YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ if ((yy_buffer_stack_top) > 0)
+ --(yy_buffer_stack_top);
+
+ if (YY_CURRENT_BUFFER) {
+ ss_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
}
+}
+/* Allocates the stack if it does not exist.
+ * Guarantees space for at least one push.
+ */
+static void ssensure_buffer_stack (void)
+{
+ int num_to_alloc;
+
+ if (!(yy_buffer_stack)) {
+
+ /* First allocation is just for 2 elements, since we don't know if this
+ * scanner will even need a stack. We use 2 instead of 1 to avoid an
+ * immediate realloc on the next call.
+ */
+ num_to_alloc = 1;
+ (yy_buffer_stack) = (struct yy_buffer_state**)ssalloc
+ (num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in ssensure_buffer_stack()" );
+
+ memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+
+ (yy_buffer_stack_max) = num_to_alloc;
+ (yy_buffer_stack_top) = 0;
+ return;
+ }
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
- {
- YY_BUFFER_STATE b;
+ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+ /* Increase the buffer to prepare for a possible push. */
+ int grow_size = 8 /* arbitrary grow size */;
+ num_to_alloc = (yy_buffer_stack_max) + grow_size;
+ (yy_buffer_stack) = (struct yy_buffer_state**)ssrealloc
+ ((yy_buffer_stack),
+ num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in ssensure_buffer_stack()" );
+
+ /* zero only the new slots.*/
+ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+ (yy_buffer_stack_max) = num_to_alloc;
+ }
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ *
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE ss_scan_buffer (char * base, yy_size_t size )
+{
+ YY_BUFFER_STATE b;
+
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
return 0;
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) ssalloc(sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in ss_scan_buffer()" );
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
@@ -1521,58 +1700,53 @@ yy_size_t size;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- yy_switch_to_buffer( b );
+ ss_switch_to_buffer(b );
return b;
- }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
- {
- int len;
- for ( len = 0; yy_str[len]; ++len )
- ;
-
- return yy_scan_bytes( yy_str, len );
- }
-#endif
+}
+/** Setup the input buffer state to scan a string. The next call to sslex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ *
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ * ss_scan_bytes() instead.
+ */
+YY_BUFFER_STATE ss_scan_string (yyconst char * yystr )
+{
+
+ return ss_scan_bytes(yystr,strlen(yystr) );
+}
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
- {
+/** Setup the input buffer state to scan the given bytes. The next call to sslex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ *
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE ss_scan_bytes (yyconst char * yybytes, int _yybytes_len )
+{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
-
+
/* Get memory for full buffer, including space for trailing EOB's. */
- n = len + 2;
- buf = (char *) yy_flex_alloc( n );
+ n = _yybytes_len + 2;
+ buf = (char *) ssalloc(n );
if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+ YY_FATAL_ERROR( "out of dynamic memory in ss_scan_bytes()" );
- for ( i = 0; i < len; ++i )
- buf[i] = bytes[i];
+ for ( i = 0; i < _yybytes_len; ++i )
+ buf[i] = yybytes[i];
- buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = yy_scan_buffer( buf, n );
+ b = ss_scan_buffer(buf,n );
if ( ! b )
- YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+ YY_FATAL_ERROR( "bad buffer in ss_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
@@ -1580,148 +1754,196 @@ int len;
b->yy_is_our_buffer = 1;
return b;
- }
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
#endif
+static void yy_fatal_error (yyconst char* msg )
+{
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+}
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
- {
- if ( yy_start_stack_ptr >= yy_start_stack_depth )
- {
- yy_size_t new_size;
+/* Redefine yyless() so it works in section 3 code. */
- yy_start_stack_depth += YY_START_STACK_INCR;
- new_size = yy_start_stack_depth * sizeof( int );
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up sstext. */ \
+ int yyless_macro_arg = (n); \
+ YY_LESS_LINENO(yyless_macro_arg);\
+ sstext[ssleng] = (yy_hold_char); \
+ (yy_c_buf_p) = sstext + yyless_macro_arg; \
+ (yy_hold_char) = *(yy_c_buf_p); \
+ *(yy_c_buf_p) = '\0'; \
+ ssleng = yyless_macro_arg; \
+ } \
+ while ( 0 )
- if ( ! yy_start_stack )
- yy_start_stack = (int *) yy_flex_alloc( new_size );
+/* Accessor methods (get/set functions) to struct members. */
- else
- yy_start_stack = (int *) yy_flex_realloc(
- (void *) yy_start_stack, new_size );
+/** Get the current line number.
+ *
+ */
+int ssget_lineno (void)
+{
+
+ return sslineno;
+}
- if ( ! yy_start_stack )
- YY_FATAL_ERROR(
- "out of memory expanding start-condition stack" );
- }
+/** Get the input stream.
+ *
+ */
+FILE *ssget_in (void)
+{
+ return ssin;
+}
- yy_start_stack[yy_start_stack_ptr++] = YY_START;
+/** Get the output stream.
+ *
+ */
+FILE *ssget_out (void)
+{
+ return ssout;
+}
- BEGIN(new_state);
- }
-#endif
+/** Get the length of the current token.
+ *
+ */
+int ssget_leng (void)
+{
+ return ssleng;
+}
+/** Get the current token.
+ *
+ */
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
- {
- if ( --yy_start_stack_ptr < 0 )
- YY_FATAL_ERROR( "start-condition stack underflow" );
+char *ssget_text (void)
+{
+ return sstext;
+}
- BEGIN(yy_start_stack[yy_start_stack_ptr]);
- }
-#endif
+/** Set the current line number.
+ * @param line_number
+ *
+ */
+void ssset_lineno (int line_number )
+{
+
+ sslineno = line_number;
+}
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ *
+ * @see ss_switch_to_buffer
+ */
+void ssset_in (FILE * in_str )
+{
+ ssin = in_str ;
+}
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
- {
- return yy_start_stack[yy_start_stack_ptr - 1];
- }
-#endif
+void ssset_out (FILE * out_str )
+{
+ ssout = out_str ;
+}
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
+int ssget_debug (void)
+{
+ return ss_flex_debug;
+}
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
+void ssset_debug (int bdebug )
+{
+ ss_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+ /* Initialization is the same as for the non-reentrant scanner.
+ * This function is called from sslex_destroy(), so don't allocate here.
+ */
+
+ (yy_buffer_stack) = 0;
+ (yy_buffer_stack_top) = 0;
+ (yy_buffer_stack_max) = 0;
+ (yy_c_buf_p) = (char *) 0;
+ (yy_init) = 0;
+ (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+ ssin = stdin;
+ ssout = stdout;
#else
-static void yy_fatal_error( msg )
-char msg[];
+ ssin = (FILE *) 0;
+ ssout = (FILE *) 0;
#endif
- {
- (void) fprintf( stderr, "%s\n", msg );
- exit( YY_EXIT_FAILURE );
- }
+ /* For future reference: Set errno on error, since we are called by
+ * sslex_init()
+ */
+ return 0;
+}
+/* sslex_destroy is for both reentrant and non-reentrant scanners. */
+int sslex_destroy (void)
+{
+
+ /* Pop the buffer stack, destroying each element. */
+ while(YY_CURRENT_BUFFER){
+ ss_delete_buffer(YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ sspop_buffer_state();
+ }
-/* Redefine yyless() so it works in section 3 code. */
+ /* Destroy the stack itself. */
+ ssfree((yy_buffer_stack) );
+ (yy_buffer_stack) = NULL;
-#undef yyless
-#define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- yytext[yyleng] = yy_hold_char; \
- yy_c_buf_p = yytext + n; \
- yy_hold_char = *yy_c_buf_p; \
- *yy_c_buf_p = '\0'; \
- yyleng = n; \
- } \
- while ( 0 )
+ /* Reset the globals. This is important in a non-reentrant scanner so the next time
+ * sslex() is called, initialization will occur. */
+ yy_init_globals( );
+ return 0;
+}
-/* Internal utility routines. */
+/*
+ * Internal utility routines.
+ */
#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
- {
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
register int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
- }
+}
#endif
#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
- {
+static int yy_flex_strlen (yyconst char * s )
+{
register int n;
for ( n = 0; s[n]; ++n )
;
return n;
- }
+}
#endif
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
- {
+void *ssalloc (yy_size_t size )
+{
return (void *) malloc( size );
- }
+}
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
- {
+void *ssrealloc (void * ptr, yy_size_t size )
+{
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
@@ -1730,30 +1952,21 @@ yy_size_t size;
* as though doing an assignment.
*/
return (void *) realloc( (char *) ptr, size );
- }
+}
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
- {
- free( ptr );
- }
+void ssfree (void * ptr )
+{
+ free( (char *) ptr ); /* see ssrealloc() for (char *) cast */
+}
-#if YY_MAIN
-int main()
- {
- yylex();
- return 0;
- }
-#endif
-#line 128 "icalsslexer.l"
+#define YYTABLES_NAME "yytables"
-int yywrap()
+
+
+int sswrap()
{
return 1;
}
+
diff --git a/src/libicalss/icalsslexer.l b/src/libicalss/icalsslexer.l
index a044051..7003fc0 100644
--- a/src/libicalss/icalsslexer.l
+++ b/src/libicalss/icalsslexer.l
@@ -36,11 +36,14 @@
const char* input_buffer;
const char* input_buffer_p;
-#define min(a,b) ((a) < (b) ? (a) : (b))
-
int icalss_input(char* buf, int max_size)
{
- int n = min(max_size,strlen(input_buffer_p));
+ int n;
+ int l;
+
+ l = strlen(input_buffer_p);
+ if (max_size<l) n = max_size;
+ else n = l;
if (n > 0){
memcpy(buf, input_buffer_p, n);
@@ -108,7 +111,9 @@ NULL { return SQLNULL; }
\'[\@\*A-Za-z0-9\-\.\:\ ]+\' {
int c = input();
- unput(c);
+ if(c != EOF){
+ unput(c);
+ }
if(c!='\''){
sslval.v_string= icalmemory_tmp_copy(yytext);
return STRING;
diff --git a/src/libicalss/icalssyacc.c b/src/libicalss/icalssyacc.c
index 8d720db..5896120 100644
--- a/src/libicalss/icalssyacc.c
+++ b/src/libicalss/icalssyacc.c
@@ -120,36 +120,35 @@
/* Copy the first part of user declarations. */
-#line 1 "icalssyacc.y"
-/* -*- Mode: C -*-
- ======================================================================
- FILE: icalssyacc.y
- CREATOR: eric 08 Aug 2000
-
- DESCRIPTION:
-
- $Id: icalssyacc.y,v 1.10 2008-01-14 00:35:26 dothebart Exp $
- $Locker: $
-
-(C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of either:
-
- The LGPL as published by the Free Software Foundation, version
- 2.1, available at: http://www.fsf.org/copyleft/lesser.html
-
- Or:
-
- The Mozilla Public License Version 1.0. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
-
- The Original Code is eric. The Initial Developer of the Original
- Code is Eric Busboom
-
- ======================================================================*/
-/*#define YYDEBUG 1*/
+/* -*- Mode: C -*- */
+/* ====================================================================== */
+/* FILE: icalssyacc.y */
+/* CREATOR: eric 08 Aug 2000 */
+/* */
+/* DESCRIPTION: */
+/* */
+/* $Id: icalssyacc.y,v 1.10 2008-01-14 00:35:26 dothebart Exp $ */
+/* $Locker: $ */
+/* */
+/* (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of either: */
+/* */
+/* The LGPL as published by the Free Software Foundation, version */
+/* 2.1, available at: http://www.fsf.org/copyleft/lesser.html */
+/* */
+/* Or: */
+/* */
+/* The Mozilla Public License Version 1.0. You may obtain a copy of */
+/* the License at http://www.mozilla.org/MPL/ */
+/* */
+/* The Original Code is eric. The Initial Developer of the Original */
+/* Code is Eric Busboom */
+/* */
+/* ====================================================================== */
+#define YYDEBUG 1
#include <stdlib.h>
#include <string.h> /* for strdup() */
#include <limits.h> /* for SHRT_MAX*/
@@ -174,13 +173,12 @@ static void set_logic(struct icalgauge_impl* impl,icalgaugelogic l);
/* Don't know why I need this.... */
-/* TODO: older flex version produce whats here configured as OpenBSD */
-/* autoconf should figure out, and which flex version we should be newer than? */
-#ifndef __OpenBSD__
-int sslex(void *YYPARSE_PARAM);
-#else
-int sslex();
-#endif
+/* older flex version (such as included in OpenBSD) takes a different calling syntax */
+#ifdef YYPARSE_PARAM
+int sslex(void *YYPARSE_PARAM);
+#else
+int sslex(void);
+#endif
/* Enabling traces. */
@@ -203,12 +201,10 @@ int sslex();
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 63 "icalssyacc.y"
{
char* v_string;
}
/* Line 187 of yacc.c. */
-#line 212 "y.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -221,7 +217,6 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
-#line 225 "y.tab.c"
#ifdef short
# undef short
@@ -362,14 +357,14 @@ YYID (i)
# ifndef YYMALLOC
# define YYMALLOC malloc
# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+ || defined __cplusplus)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+ || defined __cplusplus)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -513,9 +508,9 @@ static const yytype_int8 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] =
{
- 0, 74, 74, 75, 76, 83, 84, 89, 90, 93,
- 95, 96, 97, 98, 99, 100, 101, 102, 106, 107,
- 108
+ 0, 73, 73, 74, 75, 82, 83, 88, 89, 92,
+ 94, 95, 96, 97, 98, 99, 100, 101, 105, 106,
+ 107
};
#endif
@@ -1436,7 +1431,6 @@ yyreduce:
switch (yyn)
{
case 4:
-#line 76 "icalssyacc.y"
{
yyclearin;
YYABORT;
@@ -1444,83 +1438,67 @@ yyreduce:
break;
case 5:
-#line 83 "icalssyacc.y"
{ssyacc_add_select(icalss_yy_gauge,(yyvsp[(1) - (1)].v_string));}
break;
case 6:
-#line 84 "icalssyacc.y"
{ssyacc_add_select(icalss_yy_gauge,(yyvsp[(3) - (3)].v_string));}
break;
case 7:
-#line 89 "icalssyacc.y"
{ssyacc_add_from(icalss_yy_gauge,(yyvsp[(1) - (1)].v_string));}
break;
case 8:
-#line 90 "icalssyacc.y"
{ssyacc_add_from(icalss_yy_gauge,(yyvsp[(3) - (3)].v_string));}
break;
case 10:
-#line 95 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_EQUAL,(yyvsp[(3) - (3)].v_string)); }
break;
case 11:
-#line 96 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_ISNULL,""); }
break;
case 12:
-#line 97 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (4)].v_string),ICALGAUGECOMPARE_ISNOTNULL,""); }
break;
case 13:
-#line 98 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_NOTEQUAL,(yyvsp[(3) - (3)].v_string)); }
break;
case 14:
-#line 99 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_LESS,(yyvsp[(3) - (3)].v_string)); }
break;
case 15:
-#line 100 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_GREATER,(yyvsp[(3) - (3)].v_string)); }
break;
case 16:
-#line 101 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_LESSEQUAL,(yyvsp[(3) - (3)].v_string)); }
break;
case 17:
-#line 102 "icalssyacc.y"
{ssyacc_add_where(icalss_yy_gauge,(yyvsp[(1) - (3)].v_string),ICALGAUGECOMPARE_GREATEREQUAL,(yyvsp[(3) - (3)].v_string)); }
break;
case 18:
-#line 106 "icalssyacc.y"
{set_logic(icalss_yy_gauge,ICALGAUGELOGIC_NONE);}
break;
case 19:
-#line 107 "icalssyacc.y"
{set_logic(icalss_yy_gauge,ICALGAUGELOGIC_AND);}
break;
case 20:
-#line 108 "icalssyacc.y"
{set_logic(icalss_yy_gauge,ICALGAUGELOGIC_OR);}
break;
/* Line 1267 of yacc.c. */
-#line 1524 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -1734,7 +1712,6 @@ yyreturn:
}
-#line 112 "icalssyacc.y"
static void ssyacc_add_where(struct icalgauge_impl* impl, char* str1,
@@ -1767,8 +1744,8 @@ static void ssyacc_add_where(struct icalgauge_impl* impl, char* str1,
where->value = strdup(s);
- /* Is there a period in str1 ? If so, the string specified both a
- component and a property*/
+ /* Is there a period in str1 ? If so, the string specified both a */
+ /* component and a property */
if( (c = strrchr(str1,'.')) != 0){
compstr = str1;
propstr = c+1;
@@ -1827,8 +1804,8 @@ static void ssyacc_add_select(struct icalgauge_impl* impl, char* str1)
where->comp = ICAL_NO_COMPONENT;
where->prop = ICAL_NO_PROPERTY;
- /* Is there a period in str1 ? If so, the string specified both a
- component and a property*/
+ /* Is there a period in str1 ? If so, the string specified both a */
+ /* component and a property */
if( (c = strrchr(str1,'.')) != 0){
compstr = str1;
propstr = c+1;
diff --git a/src/libicalss/icalssyacc.h b/src/libicalss/icalssyacc.h
index cb6973e..f97cc4a 100644
--- a/src/libicalss/icalssyacc.h
+++ b/src/libicalss/icalssyacc.h
@@ -86,12 +86,10 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 63 "icalssyacc.y"
{
char* v_string;
}
/* Line 1489 of yacc.c. */
-#line 95 "y.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/src/libicalss/icalssyacc.y b/src/libicalss/icalssyacc.y
index af16177..03e1d92 100644
--- a/src/libicalss/icalssyacc.y
+++ b/src/libicalss/icalssyacc.y
@@ -1,31 +1,31 @@
%{
-/* -*- Mode: C -*-
- ======================================================================
- FILE: icalssyacc.y
- CREATOR: eric 08 Aug 2000
-
- DESCRIPTION:
-
- $Id: icalssyacc.y,v 1.10 2008-01-14 00:35:26 dothebart Exp $
- $Locker: $
-
-(C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of either:
-
- The LGPL as published by the Free Software Foundation, version
- 2.1, available at: http://www.fsf.org/copyleft/lesser.html
-
- Or:
-
- The Mozilla Public License Version 1.0. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
-
- The Original Code is eric. The Initial Developer of the Original
- Code is Eric Busboom
-
- ======================================================================*/
+/* -*- Mode: C -*- */
+/* ====================================================================== */
+/* FILE: icalssyacc.y */
+/* CREATOR: eric 08 Aug 2000 */
+/* */
+/* DESCRIPTION: */
+/* */
+/* $Id: icalssyacc.y,v 1.10 2008-01-14 00:35:26 dothebart Exp $ */
+/* $Locker: $ */
+/* */
+/* (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of either: */
+/* */
+/* The LGPL as published by the Free Software Foundation, version */
+/* 2.1, available at: http://www.fsf.org/copyleft/lesser.html */
+/* */
+/* Or: */
+/* */
+/* The Mozilla Public License Version 1.0. You may obtain a copy of */
+/* the License at http://www.mozilla.org/MPL/ */
+/* */
+/* The Original Code is eric. The Initial Developer of the Original */
+/* Code is Eric Busboom */
+/* */
+/* ====================================================================== */
/*#define YYDEBUG 1*/
#include <stdlib.h>
#include <string.h> /* for strdup() */
@@ -51,13 +51,12 @@ static void set_logic(struct icalgauge_impl* impl,icalgaugelogic l);
/* Don't know why I need this.... */
-/* TODO: older flex version produce whats here configured as OpenBSD */
-/* autoconf should figure out, and which flex version we should be newer than? */
-#ifndef __OpenBSD__
-int sslex(void *YYPARSE_PARAM);
-#else
-int sslex();
-#endif
+/* older flex version (such as included in OpenBSD) takes a different calling syntax */
+#ifdef YYPARSE_PARAM
+int sslex(void *YYPARSE_PARAM);
+#else
+int sslex(void);
+#endif
%}
%union {
@@ -141,8 +140,8 @@ static void ssyacc_add_where(struct icalgauge_impl* impl, char* str1,
where->value = strdup(s);
- /* Is there a period in str1 ? If so, the string specified both a
- component and a property*/
+ /* Is there a period in str1 ? If so, the string specified both a */
+ /* component and a property */
if( (c = strrchr(str1,'.')) != 0){
compstr = str1;
propstr = c+1;
@@ -201,8 +200,8 @@ static void ssyacc_add_select(struct icalgauge_impl* impl, char* str1)
where->comp = ICAL_NO_COMPONENT;
where->prop = ICAL_NO_PROPERTY;
- /* Is there a period in str1 ? If so, the string specified both a
- component and a property*/
+ /* Is there a period in str1 ? If so, the string specified both a */
+ /* component and a property */
if( (c = strrchr(str1,'.')) != 0){
compstr = str1;
propstr = c+1;