diff options
Diffstat (limited to 'src/runtime/c/pgf/reader.c')
| -rw-r--r-- | src/runtime/c/pgf/reader.c | 10 |
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; |
