Followup on #19779: make the helper function static,
Jarkko Hietaniemi [Sat, 14 Jun 2003 13:39:45 +0000 (13:39 +0000)]
and rename it for paranoia reasons.

p4raw-id: //depot/perl@19781

embed.fnc
embed.h
proto.h
sv.c

index be08619..b3efd6e 100644 (file)
--- 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 (file)
--- a/embed.h
+++ b/embed.h
 #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
 #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 (file)
--- 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 (file)
--- 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",