By default it is initialized to NULL. If a section is found while parsing the ini file, even if it is just "[]" then allocate memory and set the appropiate string.
This allows to distinguish the case where the section is "[]" from the case where there is no section at all.
Signed-off-by: Carlos Rivera carlos@superkaos.org --- This makes a test case pass in Wine. --- dlls/kernel32/profile.c | 2 +- dlls/kernel32/tests/profile.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/kernel32/profile.c b/dlls/kernel32/profile.c index 8bc7533599..8b33c6f400 100644 --- a/dlls/kernel32/profile.c +++ b/dlls/kernel32/profile.c @@ -85,7 +85,7 @@ static PROFILESECTION *new_PROFILESECTION(const WCHAR *name, int len) section->next = NULL; section->name = NULL;
- if (name && len > 0) + if (name) { if (!(section->name = HeapAlloc( GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR)))) { diff --git a/dlls/kernel32/tests/profile.c b/dlls/kernel32/tests/profile.c index f981558548..05822e77af 100644 --- a/dlls/kernel32/tests/profile.c +++ b/dlls/kernel32/tests/profile.c @@ -152,9 +152,7 @@ static void test_profile_string(void)
/* works only in unicode, ascii crashes */ ret=GetPrivateProfileStringW(emptyW, keyW, emptyW, bufW, ARRAY_SIZE(bufW), TESTFILE2W); - todo_wine ok(ret == 13, "expected 13, got %u\n", ret); - todo_wine ok(!lstrcmpW(valsectionW,bufW), "expected %s, got %s\n", wine_dbgstr_w(valsectionW), wine_dbgstr_w(bufW) );