This fixes a warning about using a tainted variable (broke the
tests with newer perl versions).
$path ||= '~/.i3/ipc.sock';
- bless { path => glob($path) } => $class;
+ # Check if we need to resolve ~
+ if ($path =~ /~/) {
+ # We use getpwuid() instead of $ENV{HOME} because the latter is tainted
+ # and thus produces warnings when running tests with perl -T
+ my $home = (getpwuid($<))[7];
+ die "Could not get home directory" unless $home and -d $home;
+ $path =~ s/~/$home/g;
+ }
+
+ bless { path => $path } => $class;
}
=head2 $i3->connect