diff options
| -rw-r--r-- | sys/src/cmd/gs/src/zdscpars.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/sys/src/cmd/gs/src/zdscpars.c b/sys/src/cmd/gs/src/zdscpars.c index 315c9074f..fb6ff74a3 100644 --- a/sys/src/cmd/gs/src/zdscpars.c +++ b/sys/src/cmd/gs/src/zdscpars.c @@ -132,11 +132,18 @@ zinitialize_dsc_parser(i_ctx_t *i_ctx_p) ref local_ref; int code; os_ptr const op = osp; - dict * const pdict = op->value.pdict; - gs_memory_t * const mem = (gs_memory_t *)dict_memory(pdict); - dsc_data_t * const data = - gs_alloc_struct(mem, dsc_data_t, &st_dsc_data_t, - "DSC parser init"); + dict *pdict; + gs_memory_t *mem; + dsc_data_t *data; + + check_read_type(*op, t_dictionary); + + pdict = op->value.pdict; + mem = (gs_memory_t *)dict_memory(pdict); + + data = gs_alloc_struct(mem, dsc_data_t, &st_dsc_data_t, "DSC parser init"); + if (!data) + return_error(e_VMerror); data->dsc_data_ptr = dsc_init((void *) "Ghostscript DSC parsing"); if (!data->dsc_data_ptr) |
