patch fixing profile writing

mehmet yasar myasar at free.fr
Thu Jan 3 08:14:59 CST 2002


it may not be the best solution ...

Bug Description:
Reading an ini file works perfectly but whenever a key is modified
the file written is incorrect (since this forces flushing to disk) :
the actual code adds empty sections ([]) to the file.

Cause: (see wine/files/profile.c):
The first section created by PROFILE_Load() (which reads the
ini file) is an empty one (first_section->name[0]=0), and PROFILE_Save()
saves this to disk.

Remedy:
Do not save empty sections :

diff -ur wine-20011108/files/profile.c mywine/files/profile.c
--- wine-20011108/files/profile.c    Thu Jan  3 14:13:30 2002
+++ mywine/files/profile.c    Thu Jan  3 14:41:56 2002
@@ -145,7 +145,7 @@

     for ( ; section; section = section->next)
     {
-        if (section->name) fprintf( file, "\r\n[%s]\r\n", section->name );
+        if (section->name && section->name[0]) fprintf( file, 
"\r\n[%s]\r\n", section->name );
         for (key = section->key; key; key = key->next)
         {
             fprintf( file, "%s", key->name );

Remark:
Win2K and Win98 allows the creation of empty sections ([]), this is not
handled by my patch nor by the actual version of wine (bugguy).
I have not seen any application relying on this feature ...

Thanks,
Mehmet YASAR






More information about the wine-patches mailing list