Francois Gouget wrote:
> 
> On Sat, 30 Dec 2000, Eric Pouech wrote:
> [...]
> > the format H:debugger/winedbg is an awful mix of DOS and unix paths
> 
>    I don't agree. Ok, it would be better to have an absolute path like
> "H:/debugger/winedbg". But Win32 supports both '/' and '\' as directory
> separators so the path above is a prefectly natural Windows path.
> 
> > did you try H:\debugger\winedbg instead ?
> 
>    If it does then something is seriusly wrong with Wine (unless it's
> the leading '\' that makes the difference).
I thought it could make a difference, but it doesn't. The issue comes from
the fact that Wine assumes that .so Winelib apps name is always a *fully* 
Unix one. In the two reported cases, the name is either a DOS/Unix mix (or
as François pointed out, a regular Win32 one)

so, with current code, you shall use (in Guy's setup)
        /home/albertel/t1/mywine/debugger/winedbg %ld %ld
as the debugger format command in registry

Anyway, one could let Wine also search .so Winelib apps which name 
is a DOS/Unix mix... (see attached patch)
However, I don't know if Alexandre will like it... 

A+

-- 
---------------
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle
Name: sostart
ChangeLog: allow launching .so Winelib apps with (partial) DOS name
GenDate: 2000/12/30 13:41:35 UTC
ModifiedFiles: library/loader.c
AddedFiles: 
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/library/loader.c,v
retrieving revision 1.7
diff -u -u -r1.7 loader.c
--- library/loader.c    2000/12/19 23:31:52     1.7
+++ library/loader.c    2000/12/30 13:39:02
@@ -19,6 +19,7 @@
 #include "winnt.h"
 #include "wine/library.h"
 #include "wine/port.h"
+#include "file.h"
 
 #define MAX_DLLS 100
 
@@ -359,6 +360,15 @@
     {
         /* no path, try only the specified name */
         ret = wine_dlopen( name, RTLD_NOW, NULL, 0 );
+       if (!ret) 
+       {
+           DOS_FULL_NAME       dfn;
+           
+           if (DOSFS_GetFullName( name, TRUE, &dfn ))
+           {
+               ret = wine_dlopen( dfn.long_name, RTLD_NOW, NULL, 0 );
+           }
+       }
     }
     else
     {

Reply via email to