Commit 73fc0a18 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

kernel32: Implement registry mapping in WritePrivateProfileStringW().

parent 7c4f2d53
......@@ -1473,6 +1473,9 @@ BOOL WINAPI WritePrivateProfileStringW( LPCWSTR section, LPCWSTR entry,
LPCWSTR string, LPCWSTR filename )
{
BOOL ret = FALSE;
HKEY key;
TRACE("(%s, %s, %s, %s)\n", debugstr_w(section), debugstr_w(entry), debugstr_w(string), debugstr_w(filename));
if (!section && !entry && !string) /* documented "file flush" case */
{
......@@ -1486,6 +1489,20 @@ BOOL WINAPI WritePrivateProfileStringW( LPCWSTR section, LPCWSTR entry,
}
if (!entry) return PROFILE_DeleteSection( filename, section );
if (get_mapped_section_key( filename, section, entry, TRUE, &key ))
{
LSTATUS res;
if (string)
res = RegSetValueExW( key, entry, 0, REG_SZ, (const BYTE *)string,
(strlenW( string ) + 1) * sizeof(WCHAR) );
else
res = RegDeleteValueW( key, entry );
RegCloseKey( key );
if (res) SetLastError( res );
return !res;
}
EnterCriticalSection( &PROFILE_CritSect );
if (PROFILE_Open( filename, TRUE ))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment