diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-01-30 18:13:38 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-01-30 18:13:38 +0000 |
commit | 2eb25c996f78f171b9e185efef03146c255a8fd3 (patch) | |
tree | 20a494200ab76bd7070241c194f068ab7fa259ff /win32/vdir.h | |
parent | f34ff0a86757211b63e07b9af6f912d0bd126d80 (diff) | |
download | perl-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.h | 8 |
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; } |