In S_scan_heredoc(), the explicit test for '\n' duplicates the strNE().
authorNicholas Clark <nick@ccl4.org>
Mon, 25 Mar 2013 09:53:33 +0000 (10:53 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 25 Mar 2013 16:34:31 +0000 (17:34 +0100)
PL_tokenbuf always starts with '\n', so a separate test of *s against '\n'
is duplicate work. Hence remove it, to make the code simpler and clearer.

toke.c

index 66a197f..e6e59a3 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -9960,7 +9960,7 @@ S_scan_heredoc(pTHX_ char *s)
        bufend = SvEND(linestr);
        d = s;
        while (s < bufend &&
-         (*s != '\n' || memNE(s,PL_tokenbuf,len)) ) {
+          memNE(s,PL_tokenbuf,len) ) {
            if (*s++ == '\n')
                ++shared->herelines;
        }