#include <9pm/windows.h>
#include <9pm/u.h>
#include <9pm/libc.h>
DWORD WINAPI
GetFullPathName(LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer,
LPWSTR *lpFilePart)
{
char *path, *buf, *last;
int n;
if(win_useunicode)
return GetFullPathNameW(lpFileName, nBufferLength, lpBuffer,
lpFilePart);
path = win_wstr2utf(lpFileName);
buf = win_malloc(nBufferLength*UTFmax);
n = GetFullPathNameA(path, nBufferLength*UTFmax, buf, &last);
if(n == 0){
win_free(buf);
return 0;
}
n = win_utf2wstrn(lpBuffer, nBufferLength, buf);
win_free(buf);
/* this is not right but it will do */
*lpFilePart = lpBuffer;
return n;
}
syntax highlighted by Code2HTML, v. 0.9.1