Module: wine Branch: master Commit: 5ef5ead15fbebc52b799e1b5e59a52f69aed01b3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5ef5ead15fbebc52b799e1b5e5...
Author: Stefan Leichter Stefan.Leichter@camline.com Date: Thu Jan 14 21:09:54 2010 +0100
user.exe: Forward WNetGetUser16 to WNetGetUserA of mpr.dll, based on a patch from Andrew Nguyen.
---
dlls/user.exe16/Makefile.in | 2 +- dlls/user.exe16/network.c | 23 ++++++++++++++++++++--- dlls/user.exe16/user.exe16.spec | 2 +- include/wine/winnet16.h | 2 +- 4 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/dlls/user.exe16/Makefile.in b/dlls/user.exe16/Makefile.in index 9efa686..e5015cb 100644 --- a/dlls/user.exe16/Makefile.in +++ b/dlls/user.exe16/Makefile.in @@ -3,7 +3,7 @@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = user.exe16 -IMPORTS = user32 gdi32 kernel32 kernel ntdll +IMPORTS = mpr user32 gdi32 kernel32 kernel ntdll EXTRADLLFLAGS = -Wb,--subsystem,win16,--main-module,user32.dll,--heap,65520 EXTRARCFLAGS = -O res16
diff --git a/dlls/user.exe16/network.c b/dlls/user.exe16/network.c index 105d016..8dc31b1 100644 --- a/dlls/user.exe16/network.c +++ b/dlls/user.exe16/network.c @@ -30,6 +30,7 @@
#include "windef.h" #include "winbase.h" +#include "winnetwk.h" #include "wine/winnet16.h" #include "wine/debug.h"
@@ -306,10 +307,26 @@ WORD WINAPI WNetGetCaps16( WORD capability ) /************************************************************************** * WNetGetUser [USER.516] */ -WORD WINAPI WNetGetUser16( LPCSTR lpName, LPSTR szUser, LPINT16 nBufferSize ) +WORD WINAPI WNetGetUser16( LPSTR szUser, LPINT16 nBufferSize ) { - FIXME( "(%p, %p, %p): stub\n", lpName, szUser, nBufferSize ); - return WN16_NOT_SUPPORTED; + DWORD lpBufferSize, ret; + + if(!szUser || !nBufferSize) return WN16_BAD_POINTER; + + lpBufferSize = *nBufferSize; + ret = WNetGetUserA( NULL, szUser, &lpBufferSize ); + *nBufferSize = lpBufferSize; + + switch (ret) + { + case NO_ERROR: + return WN16_SUCCESS; + case ERROR_MORE_DATA: + return WN16_MORE_DATA; + default: + FIXME("Untranslated return value %d\n", ret); + } + return ret; }
diff --git a/dlls/user.exe16/user.exe16.spec b/dlls/user.exe16/user.exe16.spec index 517ced8..7094f47 100644 --- a/dlls/user.exe16/user.exe16.spec +++ b/dlls/user.exe16/user.exe16.spec @@ -463,7 +463,7 @@ 513 pascal -ret16 WNetGetCaps(word) WNetGetCaps16 514 pascal -ret16 WNetDeviceMode(word) WNetDeviceMode16 515 pascal -ret16 WNetBrowseDialog(word word ptr) WNetBrowseDialog16 -516 pascal -ret16 WNetGetUser(ptr ptr ptr) WNetGetUser16 +516 pascal -ret16 WNetGetUser(ptr ptr) WNetGetUser16 517 pascal -ret16 WNetAddConnection(str str str) WNetAddConnection16 518 pascal -ret16 WNetCancelConnection(str word) WNetCancelConnection16 519 pascal -ret16 WNetGetError(ptr) WNetGetError16 diff --git a/include/wine/winnet16.h b/include/wine/winnet16.h index 8f04860..15b046e 100644 --- a/include/wine/winnet16.h +++ b/include/wine/winnet16.h @@ -199,7 +199,7 @@ WORD WINAPI WNetGetCaps16(WORD); * Get User */
-WORD WINAPI WNetGetUser16(LPCSTR,LPSTR,LPINT16); +WORD WINAPI WNetGetUser16(LPSTR,LPINT16);
/*