summaryrefslogtreecommitdiff
path: root/ext/Cwd
diff options
context:
space:
mode:
authorSteve Peters <steve@fisharerojo.org>2005-12-10 15:42:39 +0000
committerSteve Peters <steve@fisharerojo.org>2005-12-10 15:42:39 +0000
commitfa52125f2139574b06ddadadf21b82bb93e6c77e (patch)
treed27b282b23bdcda8a935ed3c7e189ed8f9f50d26 /ext/Cwd
parent00b6aa4170b1d4f8cd86fa0a48749312580e6806 (diff)
downloadperl-fa52125f2139574b06ddadadf21b82bb93e6c77e.tar.gz
Upgrade to PathTools-3.14_01
p4raw-id: //depot/perl@26318
Diffstat (limited to 'ext/Cwd')
-rw-r--r--ext/Cwd/Changes25
-rw-r--r--ext/Cwd/Cwd.xs13
2 files changed, 38 insertions, 0 deletions
diff --git a/ext/Cwd/Changes b/ext/Cwd/Changes
index e104fe56dc..cf018a38cc 100644
--- a/ext/Cwd/Changes
+++ b/ext/Cwd/Changes
@@ -1,5 +1,30 @@
Revision history for Perl distribution PathTools.
+3.14_01 Fri Dec 9 22:45:49 CST 2005
+
+ - The Cwd::getcwd() function on *nix is now a direct pass-through to
+ the underlying getcwd() C library function when possible. This is
+ safer and faster than the previous implementation, which just did
+ abs_path('.'). [Suggested by Nick Ing-Simmons]
+
+ - When Cwd searches for a 'pwd' executable in the $PATH, we now stop
+ after we find the first one rather than continuing the search. We
+ also avoid the $PATH search altogether when a 'pwd' was already
+ found in a well-known and well-trusted location like /bin or
+ /usr/bin. [Suggested by Nick Ing-Simmons]
+
+ - On Win32 abs2rel($path, $base) was failing whenever $base is the
+ root of a volume (such as C:\ or \\share\dir). This has been
+ fixed. [Reported by Bryan Daimler]
+
+ - In abs2rel() on VMS, we've fixed handling of directory trees so
+ that the test $file = File::Spec::VMS->abs2rel('[t1.t2.t3]file',
+ '[t1.t2.t3]') returns 'file' instead of an empty string. [John
+ E. Malmberg]
+
+ - In canonpath() on VMS, '[]' was totally optimized away instead of
+ just returning '[]'. Now it's fixed. [John E. Malmberg]
+
3.14 Thu Nov 17 18:08:44 CST 2005
- canonpath() has some logic in it that avoids collapsing a
diff --git a/ext/Cwd/Cwd.xs b/ext/Cwd/Cwd.xs
index f12f47f51e..4bcbf6021e 100644
--- a/ext/Cwd/Cwd.xs
+++ b/ext/Cwd/Cwd.xs
@@ -409,6 +409,19 @@ PPCODE:
}
void
+getcwd()
+PROTOTYPE: DISABLE
+PPCODE:
+{
+ dXSTARG;
+ getcwd_sv(TARG);
+ XSprePUSH; PUSHTARG;
+#ifndef INCOMPLETE_TAINTS
+ SvTAINTED_on(TARG);
+#endif
+}
+
+void
abs_path(pathsv=Nullsv)
SV *pathsv
PROTOTYPE: DISABLE