about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-11-15 19:33:40 +0000
committerEric Wong <e@80x24.org>2022-11-16 09:25:13 +0000
commit7e5eb606483ff7356999e24bcdb095a3ecb2e14d (patch)
tree3da3d56e9386443ec1b709fe87ba6b5ede98b282
parent0e12a57daf1155b198976f6e5bbe76730da56a73 (diff)
downloadmwrap-7e5eb606483ff7356999e24bcdb095a3ecb2e14d.tar.gz
There's no need to pay O(n) cost to create a short-lived
hash table and the original regexp was obviously wrong :x
-rw-r--r--script/mwrap-perl5
1 files changed, 2 insertions, 3 deletions
diff --git a/script/mwrap-perl b/script/mwrap-perl
index 4350fcc..78e71e3 100644
--- a/script/mwrap-perl
+++ b/script/mwrap-perl
@@ -8,10 +8,9 @@ defined($so) or die 'Mwrap.so not loaded';
 my $cur = $ENV{LD_PRELOAD};
 if (defined $cur) {
         my @cur = split(/[: \t]+/, $cur);
-        my %cur = map { $_ => 1 } @cur;
-        if (!$cur{$so}) {
+        if (!grep(/\A\Q$so\E\z/, @cur)) {
                 # drop old redundant versions
-                my @keep = grep(!m!/Mwrap\.so\$!, @cur);
+                my @keep = grep(!m!/Mwrap\.so$!, @cur);
                 $ENV{LD_PRELOAD} = join(':', $so, @keep);
         }
 } else {