#include <9pm/windows.h>
#include <9pm/u.h>
#include <9pm/libc.h>
DWORD WINAPI
GetEnvironmentVariable(LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize)
{
char *name, *buf;
int n, n2;
if(win_useunicode)
return GetEnvironmentVariableW(lpName, lpBuffer, nSize);
name = win_wstr2utf(lpName);
n = nSize*UTFmax;
buf = win_malloc(n);
n2 = GetEnvironmentVariableA(name, buf, n);
win_free(name);
if(n2 == 0){
win_free(buf);
return 0;
}
if(n2 >= n){
win_free(buf);
lpBuffer[0] = 0;
return n2;
}
n2 = win_utf2wstrn(lpBuffer, nSize, buf);
win_free(buf);
return n2;
}
syntax highlighted by Code2HTML, v. 0.9.1