Stefan Leichter : user.exe: Forward WNetGetUser16 to WNetGetUserA of mpr. dll, based on a patch from Andrew Nguyen.
Alexandre Julliard
julliard at winehq.org
Mon Jan 18 10:58:51 CST 2010
Module: wine
Branch: master
Commit: 5ef5ead15fbebc52b799e1b5e59a52f69aed01b3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5ef5ead15fbebc52b799e1b5e59a52f69aed01b3
Author: Stefan Leichter <Stefan.Leichter at 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);
/*
More information about the wine-cvs
mailing list