aboutsummaryrefslogtreecommitdiffstats
path: root/libical/src/libicalss/icalgauge.c
diff options
context:
space:
mode:
Diffstat (limited to 'libical/src/libicalss/icalgauge.c')
-rw-r--r--libical/src/libicalss/icalgauge.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/libical/src/libicalss/icalgauge.c b/libical/src/libicalss/icalgauge.c
index f4854c747b..a181053d21 100644
--- a/libical/src/libicalss/icalgauge.c
+++ b/libical/src/libicalss/icalgauge.c
@@ -33,16 +33,16 @@
#include "icalssyacc.h"
-typedef void* yyscan_t;
+int ssparse(void);
-int ssparse(yyscan_t );
+extern char *input_buffer;
+extern char *input_buffer_p;
+struct icalgauge_impl *icalss_yy_gauge;
icalgauge* icalgauge_new_from_sql(char* sql, int expand)
{
struct icalgauge_impl *impl;
- yyscan_t yy_globals = NULL;
-
int r;
if ( ( impl = (struct icalgauge_impl*)
@@ -56,14 +56,10 @@ icalgauge* icalgauge_new_from_sql(char* sql, int expand)
impl->where = pvl_newlist();
impl->expand = expand;
- sslex_init(&yy_globals);
-
- ssset_extra(impl, yy_globals);
-
- ss_scan_string(sql, yy_globals);
+ icalss_yy_gauge = impl;
+ input_buffer = input_buffer_p = sql;
- r = ssparse(yy_globals);
- sslex_destroy(yy_globals);
+ r = ssparse();
if (r == 0) {
return impl;