From: Nicholas Clark Date: Sun, 20 Nov 2005 20:39:50 +0000 (+0000) Subject: Eliminate two more strlen()s, by using the return value of sprintf(). X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=fc009855d5dd3ec0391bdd89fe8d709ff3609d46;p=p5sagit%2Fp5-mst-13.2.git Eliminate two more strlen()s, by using the return value of sprintf(). p4raw-id: //depot/perl@26180 --- diff --git a/pp_ctl.c b/pp_ctl.c index ed64242..40928ca 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -2746,9 +2746,11 @@ Perl_sv_compile_2op(pTHX_ SV *sv, OP** startop, const char *code, PAD** padp) code, (unsigned long)++PL_evalseq, CopFILE(PL_curcop), (IV)CopLINE(PL_curcop)); tmpbuf = SvPVX(sv); + len = SvCUR(sv); } else - sprintf(tmpbuf, "_<(%.10s_eval %lu)", code, (unsigned long)++PL_evalseq); + len = my_sprintf(tmpbuf, "_<(%.10s_eval %lu)", code, + (unsigned long)++PL_evalseq); SAVECOPFILE_FREE(&PL_compiling); CopFILE_set(&PL_compiling, tmpbuf+2); SAVECOPLINE(&PL_compiling); @@ -2758,7 +2760,6 @@ Perl_sv_compile_2op(pTHX_ SV *sv, OP** startop, const char *code, PAD** padp) (i.e. before run-time proper). To work around the coredump that ensues, we always turn GvMULTI_on for any globals that were introduced within evals. See force_ident(). GSAR 96-10-12 */ - len = strlen(tmpbuf); safestr = savepvn(tmpbuf, len); SAVEDELETE(PL_defstash, safestr, len); SAVEHINTS(); @@ -3406,9 +3407,10 @@ PP(pp_entereval) (unsigned long)++PL_evalseq, CopFILE(PL_curcop), (IV)CopLINE(PL_curcop)); tmpbuf = SvPVX(sv); + len = SvCUR(sv); } else - sprintf(tmpbuf, "_<(eval %lu)", (unsigned long)++PL_evalseq); + len = my_sprintf(tmpbuf, "_<(eval %lu)", (unsigned long)++PL_evalseq); SAVECOPFILE_FREE(&PL_compiling); CopFILE_set(&PL_compiling, tmpbuf+2); SAVECOPLINE(&PL_compiling); @@ -3418,7 +3420,6 @@ PP(pp_entereval) (i.e. before run-time proper). To work around the coredump that ensues, we always turn GvMULTI_on for any globals that were introduced within evals. See force_ident(). GSAR 96-10-12 */ - len = strlen(tmpbuf); safestr = savepvn(tmpbuf, len); SAVEDELETE(PL_defstash, safestr, len); SAVEHINTS();