Return the correct value from GetPrivateProfileSectionA.
Copy/convert back the buffer in GetPrivateProfileSectionW.
Replace some output pointers str/wstr->ptr in kernel32.spec.
diff --git a/files/profile.c b/files/profile.c
index f535edd..9c22e3a 100644
--- a/files/profile.c
+++ b/files/profile.c
@@ -14,6 +14,7 @@
#include "winbase.h"
#include "wine/winbase16.h"
#include "winuser.h"
+#include "winnls.h"
#include "file.h"
#include "heap.h"
#include "debug.h"
@@ -1170,7 +1171,7 @@
LeaveCriticalSection( &PROFILE_CritSect );
- return 0;
+ return ret;
}
/***********************************************************************
@@ -1186,6 +1187,7 @@
LPSTR bufferA = HeapAlloc( GetProcessHeap(), 0, len );
INT ret = GetPrivateProfileSectionA( sectionA, bufferA, len,
filenameA );
+ MultiByteToWideChar(CP_ACP,0,bufferA,ret,buffer,len);
HeapFree( GetProcessHeap(), 0, sectionA );
HeapFree( GetProcessHeap(), 0, filenameA );
HeapFree( GetProcessHeap(), 0, bufferA);