From: Jarkko Hietaniemi Date: Sat, 14 Jun 2003 13:39:45 +0000 (+0000) Subject: Followup on #19779: make the helper function static, X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=953cdb4a8c192dad24419e2faad15e31948e48a6;p=p5sagit%2Fp5-mst-13.2.git Followup on #19779: make the helper function static, and rename it for paranoia reasons. p4raw-id: //depot/perl@19781 --- diff --git a/embed.fnc b/embed.fnc index be08619..b3efd6e 100644 --- a/embed.fnc +++ b/embed.fnc @@ -1236,6 +1236,7 @@ s |bool |utf8_mg_pos_init |SV *sv|MAGIC **mgp|STRLEN **cachep|I32 i|I32 *offsetp sM |void |sv_release_COW |SV *sv|char *pvx|STRLEN cur|STRLEN len \ |U32 hash|SV *after #endif +sn |const char*|my_strnchr |const char* |int c |size_t #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) diff --git a/embed.h b/embed.h index 5907e20..cbef935 100644 --- a/embed.h +++ b/embed.h @@ -1886,6 +1886,9 @@ #define sv_release_COW S_sv_release_COW #endif #endif +#ifdef PERL_CORE +#define my_strnchr S_my_strnchr +#endif #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) #ifdef PERL_CORE @@ -4357,6 +4360,9 @@ #define sv_release_COW(a,b,c,d,e,f) S_sv_release_COW(aTHX_ a,b,c,d,e,f) #endif #endif +#ifdef PERL_CORE +#define my_strnchr S_my_strnchr +#endif #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) #ifdef PERL_CORE diff --git a/proto.h b/proto.h index 1f03b3b..880e269 100644 --- a/proto.h +++ b/proto.h @@ -1186,6 +1186,7 @@ STATIC bool S_utf8_mg_pos_init(pTHX_ SV *sv, MAGIC **mgp, STRLEN **cachep, I32 i #if defined(PERL_COPY_ON_WRITE) STATIC void S_sv_release_COW(pTHX_ SV *sv, char *pvx, STRLEN cur, STRLEN len, U32 hash, SV *after); #endif +STATIC const char* S_my_strnchr(const char*, int c, size_t); #endif #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT) diff --git a/sv.c b/sv.c index ed37411..9d6948e 100644 --- a/sv.c +++ b/sv.c @@ -8431,7 +8431,7 @@ Perl_sv_vsetpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted); } -/* strnchr(): private function for use in sv_vcatpvfn() +/* my_strnchr(): private function for use in sv_vcatpvfn() * * Like strchr(), but allows to use strings that are not null-terminated. * The string length must be given instead and it _must_ be correct, as @@ -8439,8 +8439,9 @@ Perl_sv_vsetpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV * This would also allow to explicitly search for '\0' characters. */ -static const char * -strnchr(const char* s, int c, size_t n) +STATIC +const char * +S_my_strnchr(const char* s, int c, size_t n) { if (s) for (; n > 0; n--, s++) @@ -9351,7 +9352,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV /* to a null-terminated string. E.g. with the format "%-10c", eptr */ /* points to c (a single char on the stack), which makes strchr() */ /* run amok over the stack until it eventually hits '\n' or '\0'. */ - if (left && ckWARN(WARN_PRINTF) && strnchr(eptr, '\n', elen) && + if (left && ckWARN(WARN_PRINTF) && my_strnchr(eptr, '\n', elen) && (PL_op->op_type == OP_PRTF || PL_op->op_type == OP_SPRINTF)) Perl_warner(aTHX_ packWARN(WARN_PRINTF), "Newline in left-justified string for %sprintf",