summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-09-04 10:06:07 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-09-04 10:06:07 +0000
commit805f95eac61ef17d7ec3f87dda1dfbc932951dee (patch)
tree62ab374454b87aa4d7d04bbee18ead8a4cbace37 /src/runtime/c/pgf
parentae87c3d272104a933d148a544c9eab15865c1758 (diff)
remove the dependency on the HAVE_STATEMENT_EXPRESSIONS flag. This reduces the dependency on the ./configure script
Diffstat (limited to 'src/runtime/c/pgf')
-rw-r--r--src/runtime/c/pgf/parser.c10
-rw-r--r--src/runtime/c/pgf/reader.c10
2 files changed, 12 insertions, 8 deletions
diff --git a/src/runtime/c/pgf/parser.c b/src/runtime/c/pgf/parser.c
index 0cf588aa1..7ca9babd8 100644
--- a/src/runtime/c/pgf/parser.c
+++ b/src/runtime/c/pgf/parser.c
@@ -2195,12 +2195,10 @@ pgf_parse_result(PgfParseState* state)
pgf_parsing_print_counts(state->ps);
#endif
- PgfExprEnum* en =
- &gu_new_i(state->ps->pool, PgfParseResult,
- .state = state,
- .en.next = pgf_parse_result_enum_next)->en;
-
- return en;
+ PgfParseResult* res = gu_new(PgfParseResult, state->ps->pool);
+ res->state = state;
+ res->en.next = pgf_parse_result_enum_next;
+ return &res->en;
}
void
diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c
index f58809ef5..36eebee43 100644
--- a/src/runtime/c/pgf/reader.c
+++ b/src/runtime/c/pgf/reader.c
@@ -76,8 +76,14 @@ pgf_read_len(PgfReader* rdr)
// immediately.
gu_return_on_exn(rdr->err, 0);
if (len < 0) {
- gu_raise_i(rdr->err, PgfReadTagExn,
- .type = gu_type(GuLength), .tag = len);
+ GuExnData* err_data = gu_raise(rdr->err, PgfReadTagExn);
+ if (err_data) {
+ PgfReadTagExn* rtag = gu_new(PgfReadTagExn, err_data->pool);
+ rtag->type = gu_type(GuLength);
+ rtag->tag = len;
+ err_data->data = rtag;
+ }
+
return 0;
}
return (GuLength) len;