/*
* Experimenta lMai Renderer -- MapCSS Lexer
*
- * (c) 2014 Martin Mares <mj@ucw.cz>
+ * (c) 2014--2015 Martin Mares <mj@ucw.cz>
*/
#include <ucw/lib.h>
#include "css-parse.h"
static struct fastbuf *fb;
+static struct fastbuf fbbuf;
static int lino;
void css_error(char *err, ...)
bclose(fb);
}
+void css_lex_string(const char *str)
+{
+ fbbuf_init_read(&fbbuf, (char *) str, strlen(str), 0);
+ fb = &fbbuf;
+ lino = 1;
+}
+
int css_lex(void)
{
struct mempool *mp = css_this->pool;
char *p;
- int c, next, len;
+ int c, next, len, tok;
+
+ if (tok = css_this->pushed_token)
+ {
+ css_this->pushed_token = 0;
+ return tok;
+ }
for (;;)
{