371
371
const byte *cip, *end;
372
372
crypt_state state;
373
373
int c, hhints = 0, vhints = 0;
374
int code, call_depth = 0;
376
376
CLEAR_CSTACK(cstack, csp);
377
377
cip = pgd->bits.data;
452
452
case c2_callgsubr:
453
c = fixed2int_var(*csp) + pdata->gsubrNumberBias;
454
if (csp < &(cstack[0])) {
455
c = pdata->gsubrNumberBias;
458
c = fixed2int_var(*csp) + pdata->subroutineNumberBias;
454
460
code = pdata->procs.subr_data
455
461
(pfont, c, true, &ipsp[1].cs_data);
457
463
return_error(code);
464
if (csp >= &(cstack[0])) {
459
467
ipsp->ip = cip, ipsp->dstate = state, ipsp->ip_end = end;
461
469
cip = ipsp->cs_data.bits.data;
462
470
end = ipsp->cs_data.bits.data + ipsp->cs_data.bits.size;
465
c = fixed2int_var(*csp) + pdata->subroutineNumberBias;
474
if (csp < &(cstack[0])) {
475
c = pdata->subroutineNumberBias;
478
c = fixed2int_var(*csp) + pdata->subroutineNumberBias;
466
480
code = pdata->procs.subr_data
467
481
(pfont, c, false, &ipsp[1].cs_data);
469
483
return_error(code);
484
if (csp >= &(cstack[0])) {
471
487
ipsp->ip = cip, ipsp->dstate = state, ipsp->ip_end = end;
473
489
cip = ipsp->cs_data.bits.data;
474
490
end = ipsp->cs_data.bits.data + ipsp->cs_data.bits.size;
494
return (gs_note_error(gs_error_invalidfont));
477
497
gs_glyph_data_free(&ipsp->cs_data, "gs_type1_piece_codes");
479
499
if (ipsp < ipstack)