[PATCH 3/3] regedit: Simplify REG_SZ import parsing
Hugh McMaster
hugh.mcmaster at outlook.com
Wed Apr 12 08:45:35 CDT 2017
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/regedit/regproc.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 4889915..65fd525 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -401,7 +401,7 @@ static BOOL validate_reg_sz_data(WCHAR *str)
p = strchrW(++p, '"');
if (!p) return FALSE;
- end = ++p;
+ end = p++;
while (*p == ' ' || *p == '\t') p++;
if (*p && *p != ';') return FALSE;
@@ -442,11 +442,9 @@ static LONG setValue(WCHAR* val_name, WCHAR* val_data, BOOL is_unicode)
if (!validate_reg_sz_data(val_data))
return ERROR_INVALID_DATA;
dwLen = REGPROC_unescape_string(val_data);
- if(!dwLen || val_data[dwLen-1] != '"')
- return ERROR_INVALID_DATA;
- val_data[dwLen-1] = '\0'; /* remove last quotes */
- lpbData = (BYTE*) val_data;
+ if (!dwLen) dwLen = 1; /* val_data is an empty string */
dwLen = dwLen * sizeof(WCHAR); /* size is in bytes */
+ lpbData = (BYTE *)val_data;
}
else if (dwParseType == REG_DWORD) /* Convert the dword types */
{
--
2.7.4
More information about the wine-patches
mailing list