Andrey Turkin : regedit: Ignore spaces in regedit files.

Alexandre Julliard julliard at winehq.org
Wed Oct 1 14:09:05 CDT 2008


Module: wine
Branch: master
Commit: ae097646abfbf7e405311f463794a2fcd683e3f0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ae097646abfbf7e405311f463794a2fcd683e3f0

Author: Andrey Turkin <andrey.turkin at gmail.com>
Date:   Fri Sep 26 09:31:24 2008 +0400

regedit: Ignore spaces in regedit files.

---

 programs/regedit/regproc.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 9178d4e..c3825bd 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -488,6 +488,7 @@ static void processSetValue(WCHAR* line, BOOL is_unicode)
     LONG res;
 
     /* get value name */
+    while ( isspaceW(line[line_idx]) ) line_idx++;
     if (line[line_idx] == '@' && line[line_idx + 1] == '=') {
         line[line_idx] = '\0';
         val_name = line;
@@ -509,6 +510,7 @@ static void processSetValue(WCHAR* line, BOOL is_unicode)
                 }
             }
         }
+        while ( isspaceW(line[line_idx]) ) line_idx++;
         if (line[line_idx] != '=') {
             char* lineA;
             line[line_idx] = '\"';
@@ -525,7 +527,13 @@ static void processSetValue(WCHAR* line, BOOL is_unicode)
         return;
     }
     line_idx++;                   /* skip the '=' character */
+
+    while ( isspaceW(line[line_idx]) ) line_idx++;
     val_data = line + line_idx;
+    /* trim trailing blanks */
+    line_idx = strlenW(val_data);
+    while (line_idx > 0 && isspaceW(val_data[line_idx-1])) line_idx--;
+    val_data[line_idx] = '\0';
 
     REGPROC_unescape_string(val_name);
     res = setValue(val_name, val_data, is_unicode);




More information about the wine-cvs mailing list