summaryrefslogtreecommitdiff
path: root/lib/File
diff options
context:
space:
mode:
authorSteve Peters <steve@fisharerojo.org>2005-09-25 07:41:03 -0700
committerSteve Hay <SteveHay@planit.com>2005-09-26 08:54:13 +0000
commit204b4d7f800e266ce239f9e434271307a9c45b3e (patch)
tree4f2309558a3e38b21e4dae2b208237791e4a0d6d /lib/File
parent667342e9372792655bd9e69275759a3f66394d54 (diff)
downloadperl-204b4d7f800e266ce239f9e434271307a9c45b3e.tar.gz
[perl #37223] [PATCH] File::Find::find fails on Win32 with follow => 1
From: "Steve Peters via RT" <perlbug-followup@perl.org> Message-ID: <rt-3.0.11-37223-121392.15.8703994486314@perl.org> and update docs p4raw-id: //depot/perl@25597
Diffstat (limited to 'lib/File')
-rw-r--r--lib/File/Find.pm9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/File/Find.pm b/lib/File/Find.pm
index 55787511a5..e3e6563882 100644
--- a/lib/File/Find.pm
+++ b/lib/File/Find.pm
@@ -131,6 +131,8 @@ a dangling symbolic link, then fullname will be set to C<undef>.
=back
+This is a no-op on Win32.
+
=item C<follow_fast>
This is similar to I<follow> except that it may report some files more
@@ -139,6 +141,8 @@ have to be hashed, this is much cheaper both in space and time. If
processing a file more than once (by the user's C<wanted()> function)
is worse than just taking time, the option I<follow> should be used.
+This is also a no-op on Win32.
+
=item C<follow_skip>
C<follow_skip==1>, which is the default, causes all files which are
@@ -603,8 +607,9 @@ sub _find_opt {
$pre_process = $wanted->{preprocess};
$post_process = $wanted->{postprocess};
$no_chdir = $wanted->{no_chdir};
- $full_check = $wanted->{follow};
- $follow = $full_check || $wanted->{follow_fast};
+ $full_check = $^O eq 'MSWin32' ? 0 : $wanted->{follow};
+ $follow = $full_check || $^O eq 'MSWin32' ? 0 :
+ $wanted->{follow_fast};
$follow_skip = $wanted->{follow_skip};
$untaint = $wanted->{untaint};
$untaint_pat = $wanted->{untaint_pattern};