X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=doop.c;h=dc525d356faa5c3582ffaba7304d05198fc83f62;hb=1a6108908b085da4d14ad0cdf8549f193a6fb877;hp=d5cef2834774528c2f21fd3987fc9770cf250088;hpb=fdf8c08824a2cd37d9fab91f3056bff4358cb60b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/doop.c b/doop.c index d5cef28..dc525d3 100644 --- a/doop.c +++ b/doop.c @@ -307,7 +307,12 @@ S_do_trans_simple_utf8(pTHX_ SV * const sv) const I32 grows = PL_op->op_private & OPpTRANS_GROWS; STRLEN len; - SV* const rv = (SV*)cSVOP->op_sv; + SV* const rv = +#ifdef USE_ITHREADS + PAD_SVl(cPADOP->op_padix); +#else + (SV*)cSVOP->op_sv; +#endif HV* const hv = (HV*)SvRV(rv); SV* const * svp = hv_fetchs(hv, "NONE", FALSE); const UV none = svp ? SvUV(*svp) : 0x7fffffff; @@ -403,7 +408,12 @@ S_do_trans_count_utf8(pTHX_ SV * const sv) I32 matches = 0; STRLEN len; - SV* const rv = (SV*)cSVOP->op_sv; + SV* const rv = +#ifdef USE_ITHREADS + PAD_SVl(cPADOP->op_padix); +#else + (SV*)cSVOP->op_sv; +#endif HV* const hv = (HV*)SvRV(rv); SV* const * const svp = hv_fetchs(hv, "NONE", FALSE); const UV none = svp ? SvUV(*svp) : 0x7fffffff; @@ -447,7 +457,12 @@ S_do_trans_complex_utf8(pTHX_ SV * const sv) const I32 squash = PL_op->op_private & OPpTRANS_SQUASH; const I32 del = PL_op->op_private & OPpTRANS_DELETE; const I32 grows = PL_op->op_private & OPpTRANS_GROWS; - SV * const rv = (SV*)cSVOP->op_sv; + SV* const rv = +#ifdef USE_ITHREADS + PAD_SVl(cPADOP->op_padix); +#else + (SV*)cSVOP->op_sv; +#endif HV * const hv = (HV*)SvRV(rv); SV * const *svp = hv_fetchs(hv, "NONE", FALSE); const UV none = svp ? SvUV(*svp) : 0x7fffffff;