diff --git a/Make.rules.in b/Make.rules.in index a6c0b563338711a0df5e7fb65cd09ea47f821017..8c74900189037b24f3d481a206242d1c273e848c 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -98,6 +98,7 @@ DLLS = \ mciseq.drv \ mciwave.drv \ midimap.drv \ + mpr \ msacm \ msacm.drv \ msacm32 \ diff --git a/Makefile.in b/Makefile.in index 9bb7b414562176a513533c63adbdedda658fb89a..17dcc2382ec0a02e7d102d43a1057f8ddfe5dba7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -35,7 +35,6 @@ LIBSUBDIRS = \ dlls/crtdll \ dlls/display \ dlls/mouse \ - dlls/mpr \ dlls/ntdll \ files \ graphics \ @@ -111,7 +110,6 @@ LIBOBJS = \ dlls/crtdll/crtdll.o \ dlls/display/display.o \ dlls/mouse/mouse.o \ - dlls/mpr/mpr.o \ dlls/ntdll/ntdll.o \ files/files.o \ graphics/graphics.o \ diff --git a/dlls/Makefile.in b/dlls/Makefile.in index 3cb7a35cd4aafc352012393344928ac21842ffd6..45a5bfdfbdccff40b3dc5affdca3b1302efee348 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -14,6 +14,7 @@ DLLFILES = \ imagehlp/libimagehlp.@LIBEXT@ \ imm32/libimm32.@LIBEXT@ \ lzexpand/liblz32.@LIBEXT@ \ + mpr/libmpr.@LIBEXT@ \ msacm/libmsacm.@LIBEXT@ \ msacm32/libmsacm32.@LIBEXT@ \ msnet32/libmsnet32.@LIBEXT@ \ @@ -132,6 +133,9 @@ libmciwave.drv.@LIBEXT@: winmm/mciwave/libmciwave.drv.@LIBEXT@ libmidimap.drv.@LIBEXT@: winmm/midimap/libmidimap.drv.@LIBEXT@ $(RM) $@ && $(LN_S) winmm/midimap/libmidimap.drv.@LIBEXT@ $@ +libmpr.@LIBEXT@: mpr/libmpr.@LIBEXT@ + $(RM) $@ && $(LN_S) mpr/libmpr.@LIBEXT@ $@ + libmsacm.@LIBEXT@: msacm/libmsacm.@LIBEXT@ $(RM) $@ && $(LN_S) msacm/libmsacm.@LIBEXT@ $@ diff --git a/dlls/mpr/.cvsignore b/dlls/mpr/.cvsignore index 7d7523f38da903081e43cbc5778bb7364fd58493..981242d3b57bfa565184793b930cd726461def69 100644 --- a/dlls/mpr/.cvsignore +++ b/dlls/mpr/.cvsignore @@ -1,2 +1,3 @@ Makefile +libmpr.so.1.0 mpr.spec.c diff --git a/dlls/mpr/Makefile.in b/dlls/mpr/Makefile.in index 7caccfa3e58887defe5c943168aae385c1799afe..5dc5fac8927cd6ba11b99cbadd10d6cfe6870048 100644 --- a/dlls/mpr/Makefile.in +++ b/dlls/mpr/Makefile.in @@ -1,9 +1,9 @@ -DEFS = @DLLFLAGS@ -D__WINE__ TOPSRCDIR = @top_srcdir@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = mpr +SOVERSION = 1.0 SPEC_SRCS = mpr.spec @@ -15,9 +15,7 @@ C_SRCS = \ pwcache.c \ wnet.c -all: $(MODULE).o - -@MAKE_RULES@ +@MAKE_DLL_RULES@ ### Dependencies: diff --git a/misc/network.c b/misc/network.c index 9f870bb6bfdfc3865db3ab7633a514065d08dc76..a7ea2b03b2b71c985e887110dc2670ad7e35de99 100644 --- a/misc/network.c +++ b/misc/network.c @@ -147,7 +147,9 @@ WORD WINAPI WNetUnlockQueueData16( LPSTR szQueue ) WORD WINAPI WNetAddConnection16( LPSTR lpNetPath, LPSTR lpPassWord, LPSTR lpLocalName ) { - return WNetAddConnectionA( lpNetPath, lpPassWord, lpLocalName ); + FIXME( "(%s, %p, %s): stub\n", + debugstr_a(lpNetPath), lpPassWord, debugstr_a(lpLocalName) ); + return WN16_NET_ERROR; } /******************************************************************** @@ -165,10 +167,36 @@ WORD WINAPI WNetCancelConnection16( LPSTR lpName, BOOL16 bForce ) WORD WINAPI WNetGetConnection16( LPSTR lpLocalName, LPSTR lpRemoteName, UINT16 *cbRemoteName ) { - DWORD len = *cbRemoteName; - WORD retv = WNetGetConnectionA( lpLocalName, lpRemoteName, &len ); - *cbRemoteName = (UINT16)len; - return retv; + const char *path; + + TRACE( "local %s\n", lpLocalName ); + if (lpLocalName[1] == ':') + { + int drive = toupper(lpLocalName[0]) - 'A'; + switch(DRIVE_GetType(drive)) + { + case TYPE_INVALID: + return WN16_BAD_LOCALNAME; + case TYPE_NETWORK: + path = DRIVE_GetLabel(drive); + if (strlen(path) + 1 > *cbRemoteName) + { + *cbRemoteName = strlen(path) + 1; + return WN16_MORE_DATA; + } + strcpy( lpRemoteName, path ); + *cbRemoteName = strlen(lpRemoteName) + 1; + return WN16_SUCCESS; + case TYPE_FLOPPY: + case TYPE_HD: + case TYPE_CDROM: + TRACE("file is local\n"); + return WN16_NOT_CONNECTED; + default: + return WN16_BAD_LOCALNAME; + } + } + return WN16_BAD_LOCALNAME; } /**************************************************************************