Cleaned up a few inter-dll dependencies. Added a few imports.
[wine/multimedia.git] / dlls / advapi32 / advapi.c
blob20c2f788a80c38d337f025ff902732bde997c8f0
1 /*
2 * Win32 advapi functions
4 * Copyright 1995 Sven Verdoolaege
5 */
7 #include <stdio.h>
8 #include <unistd.h>
9 #include <string.h>
10 #include <pwd.h>
12 #include "winbase.h"
13 #include "windef.h"
14 #include "winerror.h"
15 #include "wine/winestring.h"
17 #include "debugtools.h"
20 /******************************************************************************
21 * GetUserNameA [ADVAPI32.67]
23 BOOL WINAPI
24 GetUserNameA( LPSTR lpszName, LPDWORD lpSize )
26 size_t len;
27 char *name;
29 struct passwd *pwd = getpwuid( getuid() );
30 if (!pwd) return 0;
31 name = pwd->pw_name;
32 len = name ? strlen(name) : 0;
33 if (!len || !lpSize || len > *lpSize) {
34 if (lpszName) *lpszName = 0;
35 return 0;
37 *lpSize=len;
38 strcpy(lpszName, name);
39 return 1;
42 /******************************************************************************
43 * GetUserNameW [ADVAPI32.68]
45 * PARAMS
46 * lpszName []
47 * lpSize []
49 BOOL WINAPI
50 GetUserNameW( LPWSTR lpszName, LPDWORD lpSize )
52 LPSTR name = (LPSTR)HeapAlloc( GetProcessHeap(), 0, *lpSize );
53 DWORD size = *lpSize;
54 BOOL res = GetUserNameA(name,lpSize);
56 lstrcpynAtoW(lpszName,name,size);
57 HeapFree( GetProcessHeap(), 0, name );
58 return res;