revert 40488 as it breaks regsvr32
authorChristoph von Wittich <christoph_vw@reactos.org>
Fri, 17 Apr 2009 16:40:31 +0000 (16:40 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Fri, 17 Apr 2009 16:40:31 +0000 (16:40 +0000)
svn path=/trunk/; revision=40559

reactos/dll/win32/kernel32/misc/profile.c

index acabd95..91ac782 100644 (file)
@@ -213,30 +213,29 @@ static void PROFILE_Save( HANDLE hFile, const PROFILESECTION *section, ENCODING
 
     for ( ; section; section = section->next)
     {
-        int len = 4;
+        int len = 0;
 
-        if (section->name[0]) len += wcslen(section->name);
+        if (section->name[0]) len += wcslen(section->name) + 4;
 
         for (key = section->key; key; key = key->next)
         {
-            len += wcslen(key->name);
-            if (key->value && key->value[0]) len += wcslen(key->value);
-            len += 3; /* '=' and "\r\n" */
+            len += wcslen(key->name) + 2;
+            if (key->value) len += wcslen(key->value) + 1;
         }
 
         buffer = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
         if (!buffer) return;
 
         p = buffer;
-        *p++ = '[';
         if (section->name[0])
         {
+            *p++ = '[';
             wcscpy( p, section->name );
             p += wcslen(p);
+            *p++ = ']';
+            *p++ = '\r';
+            *p++ = '\n';
         }
-        *p++ = ']';
-        *p++ = '\r';
-        *p++ = '\n';
 
         for (key = section->key; key; key = key->next)
         {