This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.c: Use memEQ instead of looping an element at a time
authorKarl Williamson <khw@cpan.org>
Thu, 5 Jan 2017 05:41:53 +0000 (22:41 -0700)
committerKarl Williamson <khw@cpan.org>
Thu, 5 Jan 2017 19:13:36 +0000 (12:13 -0700)
regcomp.c

index 953a94d..7b31295 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -10101,20 +10101,9 @@ Perl__invlistEQ(pTHX_ SV* const a, SV* const b, const bool complement_b)
         }
     }
 
-    /* Make sure that the lengths are the same, as well as the final element
-     * before looping through the remainder.  (Thus we test the length, final,
-     * and first elements right off the bat) */
-    if (len_a != len_b || array_a[len_a-1] != array_b[len_a-1]) {
-        retval = FALSE;
-    }
-    else for (i = 0; i < len_a - 1; i++) {
-        if (array_a[i] != array_b[i]) {
-            retval = FALSE;
-            break;
-        }
-    }
+    return    len_a == len_b
+           && memEQ(array_a, array_b, len_a * sizeof(array_a[0]));
 
-    return retval;
 }
 #endif