diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2013-05-21 10:53:20 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2013-05-21 10:53:20 +0000 |
| commit | b7cbee794087f67bdcac2eb09acfbbc937bfea12 (patch) | |
| tree | 39bc368b0e97f03b2a236f9b128c24a0d2c46208 /src/runtime | |
| parent | 3e30dd78ece25632ee5dad62599af67e60368df5 (diff) | |
fix the encoding problem with unicode literals in the Python binding
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/c/pgf/expr.c | 8 | ||||
| -rw-r--r-- | src/runtime/c/pgf/expr.h | 2 | ||||
| -rw-r--r-- | src/runtime/python/pypgf.c | 3 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/runtime/c/pgf/expr.c b/src/runtime/c/pgf/expr.c index 13093d14f..170751b8b 100644 --- a/src/runtime/c/pgf/expr.c +++ b/src/runtime/c/pgf/expr.c @@ -148,7 +148,7 @@ typedef enum { struct PgfExprParser { GuExn* err; - GuReader* rdr; + GuIn* in; GuPool* expr_pool; GuPool* tmp_pool; PGF_TOKEN_TAG token_tag; @@ -159,7 +159,7 @@ struct PgfExprParser { static void pgf_expr_parser_getc(PgfExprParser* parser) { - parser->ch = gu_getc(parser->rdr, parser->err); + parser->ch = gu_in_u8(parser->in, parser->err); if (!gu_ok(parser->err)) { gu_exn_clear(parser->err); parser->ch = EOF; @@ -353,12 +353,12 @@ pgf_expr_parser_expr(PgfExprParser* parser) } PgfExpr -pgf_read_expr(GuReader* rdr, GuPool* pool, GuExn* err) +pgf_read_expr(GuIn* in, GuPool* pool, GuExn* err) { GuPool* tmp_pool = gu_new_pool(); PgfExprParser* parser = gu_new(PgfExprParser, tmp_pool); parser->err = err; - parser->rdr = rdr; + parser->in = in; parser->expr_pool = pool; parser->tmp_pool = NULL; parser->ch = ' '; diff --git a/src/runtime/c/pgf/expr.h b/src/runtime/c/pgf/expr.h index 7bd2d218f..ef2dd013c 100644 --- a/src/runtime/c/pgf/expr.h +++ b/src/runtime/c/pgf/expr.h @@ -152,7 +152,7 @@ pgf_expr_unapply(PgfExpr expr, GuPool* pool); PgfExpr -pgf_read_expr(GuReader* rdr, GuPool* pool, GuExn* err); +pgf_read_expr(GuIn* in, GuPool* pool, GuExn* err); bool pgf_literal_eq(PgfLiteral lit1, PgfLiteral lit2); diff --git a/src/runtime/python/pypgf.c b/src/runtime/python/pypgf.c index 1e11edcb5..fa5103615 100644 --- a/src/runtime/python/pypgf.c +++ b/src/runtime/python/pypgf.c @@ -1663,11 +1663,10 @@ pgf_readExpr(PyObject *self, PyObject *args) { GuPool* tmp_pool = gu_local_pool(); GuIn* in = gu_data_in(buf, len, tmp_pool); - GuReader* rdr = gu_new_utf8_reader(in, tmp_pool); GuExn* err = gu_new_exn(NULL, gu_kind(type), tmp_pool); pyexpr->pool = gu_new_pool(); - pyexpr->expr = pgf_read_expr(rdr, pyexpr->pool, err); + pyexpr->expr = pgf_read_expr(in, pyexpr->pool, err); pyexpr->master = NULL; if (!gu_ok(err) || gu_variant_is_null(pyexpr->expr)) { |
