summaryrefslogtreecommitdiff
path: root/win32/vdir.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-01-30 18:13:38 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-01-30 18:13:38 +0000
commit2eb25c996f78f171b9e185efef03146c255a8fd3 (patch)
tree20a494200ab76bd7070241c194f068ab7fa259ff /win32/vdir.h
parentf34ff0a86757211b63e07b9af6f912d0bd126d80 (diff)
downloadperl-2eb25c996f78f171b9e185efef03146c255a8fd3.tar.gz
Integrate changes #8608,8609,8610,8611,8612,8613 from maintperl.
perl's internal variables are not for public consumption, move their docs from perlapi.pod to perlintern.pod support for -Dusethreads build under HP-UX 10.20 and DCE threads library (11.0 and later have pthreads but 10.x don't) avoid uninitialized value warnings canonicalize paths when doing chdir() on windows (or Cwd::getcwd() gets weird results) perldoc nit on windows make it possible to run the tests outside the source tree (there's still a dependency on ../lib being the library location) p4raw-link: @8612 on //depot/maint-5.6/perl: 21b80573951053245624647c6ea0077acae22b99 p4raw-link: @8611 on //depot/maint-5.6/perl: 706e8e4d2d0a6985197cb1cb76dc3d2575cd159e p4raw-link: @8610 on //depot/maint-5.6/perl: fc1aae957f18d75529c72450055ab0d424b7d318 p4raw-link: @8609 on //depot/maint-5.6/perl: 13b98125bf15a4dfacaa2c6f56d3742c97180500 p4raw-link: @8608 on //depot/maint-5.6/perl: f893c726cdaa1ccdec167db9b2ff5c2fdc19e29b p4raw-id: //depot/perl@8614 p4raw-integrated: from //depot/maint-5.6/perl@8596 'copy in' t/lib/dprof/V.pm t/op/flip.t utils/perldoc.PL (@8159..) win32/bin/search.pl (@8166..) t/io/tell.t (@8175..) hints/hpux.sh (@8601..) thread.h (@8606..) 'ignore' pod/perlintern.pod (@7766..) pod/perlapi.pod (@8605..) 'merge in' intrpvar.h t/base/term.t (@7895..) win32/vdir.h (@8156..) thrdvar.h (@8602..) perlapi.c (@8606..)
Diffstat (limited to 'win32/vdir.h')
-rw-r--r--win32/vdir.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/win32/vdir.h b/win32/vdir.h
index af769f1549..2dd7e34cc6 100644
--- a/win32/vdir.h
+++ b/win32/vdir.h
@@ -452,7 +452,9 @@ int VDir::SetCurrentDirectoryA(char *lpBuffer)
DWORD r = GetFileAttributesA(pPtr);
if ((r != 0xffffffff) && (r & FILE_ATTRIBUTE_DIRECTORY))
{
- SetDefaultDirA(pPtr, DriveIndex(pPtr[0]));
+ char szBuffer[(MAX_PATH+1)*2];
+ DoGetFullPathNameA(pPtr, sizeof(szBuffer), szBuffer);
+ SetDefaultDirA(szBuffer, DriveIndex(szBuffer[0]));
nRet = 0;
}
@@ -677,7 +679,9 @@ int VDir::SetCurrentDirectoryW(WCHAR *lpBuffer)
DWORD r = GetFileAttributesW(pPtr);
if ((r != 0xffffffff) && (r & FILE_ATTRIBUTE_DIRECTORY))
{
- SetDefaultDirW(pPtr, DriveIndex((char)pPtr[0]));
+ WCHAR wBuffer[(MAX_PATH+1)*2];
+ DoGetFullPathNameW(pPtr, (sizeof(wBuffer)/sizeof(WCHAR)), wBuffer);
+ SetDefaultDirW(wBuffer, DriveIndex((char)wBuffer[0]));
nRet = 0;
}