Use memchr() instead of ninstr() to locate the end-of-line.
Gisle Aas [Wed, 28 Dec 2005 12:38:03 +0000 (12:38 +0000)]
The call to memchr() will faster.

p4raw-id: //depot/perl@26512

toke.c

diff --git a/toke.c b/toke.c
index 6f54416..95669a9 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -9706,7 +9706,6 @@ S_scan_heredoc(pTHX_ register char *s)
     I32 len;
     SV *tmpstr;
     char term;
-    const char newline[] = "\n";
     const char *found_newline;
     register char *d;
     register char *e;
@@ -9768,7 +9767,7 @@ S_scan_heredoc(pTHX_ register char *s)
        s = olds;
     }
 #endif
-    if ( outer || !(found_newline = ninstr(s,PL_bufend,newline,newline+1)) ) {
+    if ( outer || !(found_newline = memchr(s, '\n', PL_bufend - s)) ) {
         herewas = newSVpvn(s,PL_bufend-s);
     }
     else {