X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regcomp.c;h=64c06f00273812b9689b376ac1186f1a67ceee18;hb=b3656ec34f74d879ca158a5689e6d4537869c415;hp=ed1b3bd0a2ea0e8c9ef931e664e5537a1016a0e6;hpb=04ebc1ab60c65d1a243926252d72cc1475abc433;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regcomp.c b/regcomp.c index ed1b3bd..64c06f0 100644 --- a/regcomp.c +++ b/regcomp.c @@ -3245,7 +3245,7 @@ Perl_regprop(pTHX_ SV *sv, regnode *o) k = PL_regkind[(U8)OP(o)]; if (k == EXACT) - Perl_sv_catpvf(aTHX_ sv, " <%s%*s%s>", PL_colors[0], + Perl_sv_catpvf(aTHX_ sv, " <%s%.*s%s>", PL_colors[0], STR_LEN(o), STRING(o), PL_colors[1]); else if (k == CURLY) { if (OP(o) == CURLYM || OP(o) == CURLYN) @@ -3287,6 +3287,9 @@ Perl_pregfree(pTHX_ struct regexp *r) { dTHR; DEBUG_r(if (!PL_colorset) reginitcolors()); + + if (!r || (--r->refcnt > 0)) + return; DEBUG_r(PerlIO_printf(Perl_debug_log, "%sFreeing REx:%s `%s%.60s%s%s'\n", PL_colors[4],PL_colors[5],PL_colors[0], @@ -3294,9 +3297,6 @@ Perl_pregfree(pTHX_ struct regexp *r) PL_colors[1], (strlen(r->precomp) > 60 ? "..." : ""))); - - if (!r || (--r->refcnt > 0)) - return; if (r->precomp) Safefree(r->precomp); if (RX_MATCH_COPIED(r)) @@ -3395,7 +3395,7 @@ S_re_croak2(pTHX_ const char* pat1,const char* pat2,...) #else va_start(args); #endif - msv = mess(buf, &args); + msv = vmess(buf, &args); va_end(args); message = SvPV(msv,l1); if (l1 > 512)