From ebc32253bc7a101b205eb8f9ab4f3f9b7ee0bc60 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard <julliard@winehq.org> Date: Fri, 17 Mar 2000 15:09:48 +0000 Subject: [PATCH] Made MPR a separate dll. --- Make.rules.in | 1 + Makefile.in | 2 -- dlls/Makefile.in | 4 ++++ dlls/mpr/.cvsignore | 1 + dlls/mpr/Makefile.in | 6 ++---- misc/network.c | 38 +++++++++++++++++++++++++++++++++----- 6 files changed, 41 insertions(+), 11 deletions(-) diff --git a/Make.rules.in b/Make.rules.in index a6c0b563338..8c749001890 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 9bb7b414562..17dcc2382ec 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 3cb7a35cd4a..45a5bfdfbdc 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 7d7523f38da..981242d3b57 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 7caccfa3e58..5dc5fac8927 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 9f870bb6bfd..a7ea2b03b2b 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; } /************************************************************************** -- GitLab