summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/c/pgf/reader.c')
-rw-r--r--src/runtime/c/pgf/reader.c10
1 files changed, 8 insertions, 2 deletions
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;