Return and absolut path in DRIVE_FindDriveRoot
Uwe Bonnes
bon at elektron.ikp.physik.tu-darmstadt.de
Fri Jun 14 12:20:40 CDT 2002
Hallo,
some application (xilinx webpack) dind't find it's initialisation file when
started in the debugger ("winedbg bin/nt/webpack.exe" versus "wine
bin/nt/exepack" started in "l:/xilinx"). As trap there is also a directory
"l:/xilinx/xilinx". The starting process (wine or winedbg) set the current
working directory to l: and when winedbg started the user process,
DRIVE_Chdir in DIR_Init set the current directory to "l:/xilinx/xilinx".
This was caused by DRIVE_FindDriveRoot not returning an absolute path.
Changelog:
files/drive.c: DRIVE_FindDriveRoot
Return and absolut path, if any
Bye
--
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Index: wine/files/drive.c
===================================================================
RCS file: /home/wine/wine/files/drive.c,v
retrieving revision 1.72
diff -u -r1.72 drive.c
--- wine/files/drive.c 31 May 2002 23:06:47 -0000 1.72
+++ wine/files/drive.c 14 Jun 2002 17:19:03 -0000
@@ -402,6 +402,9 @@
if ((DOSDrives[drive].dev == st.st_dev) &&
(DOSDrives[drive].ino == st.st_ino))
{
+ /* Return the path as absolut path, if possible */
+ if (*(*path +len -1) == '/')
+ len--;
TRACE( "%s -> drive %c:, root='%s', name='%s'\n",
*path, 'A' + drive, buffer, *path + len);
*path += len;
More information about the wine-patches
mailing list