From 98cf80fbc5aee64b2527170f270da683a22640a6 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sun, 27 May 2018 03:48:33 +0100 Subject: [PATCH] [REG] Sync with Wine Staging 3.9. CORE-14656 --- base/applications/cmdutils/reg/export.c | 11 ++++++----- base/applications/cmdutils/reg/import.c | 3 ++- media/doc/README.WINE | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/base/applications/cmdutils/reg/export.c b/base/applications/cmdutils/reg/export.c index 622e7ca8d94..8b08da12999 100644 --- a/base/applications/cmdutils/reg/export.c +++ b/base/applications/cmdutils/reg/export.c @@ -39,7 +39,10 @@ static WCHAR *escape_string(WCHAR *str, size_t str_len, size_t *line_len) for (i = 0, escape_count = 0; i < str_len; i++) { WCHAR c = str[i]; - if (c == '\r' || c == '\n' || c == '\\' || c == '"' || c == '\0') + + if (!c) break; + + if (c == '\r' || c == '\n' || c == '\\' || c == '"') escape_count++; } @@ -49,6 +52,8 @@ static WCHAR *escape_string(WCHAR *str, size_t str_len, size_t *line_len) { WCHAR c = str[i]; + if (!c) break; + switch (c) { case '\r': @@ -67,10 +72,6 @@ static WCHAR *escape_string(WCHAR *str, size_t str_len, size_t *line_len) buf[pos++] = '\\'; buf[pos] = '"'; break; - case '\0': - buf[pos++] = '\\'; - buf[pos] = '0'; - break; default: buf[pos] = c; } diff --git a/base/applications/cmdutils/reg/import.c b/base/applications/cmdutils/reg/import.c index f2ce80e7cb6..779ea2863b0 100644 --- a/base/applications/cmdutils/reg/import.c +++ b/base/applications/cmdutils/reg/import.c @@ -409,7 +409,8 @@ static void free_parser_data(struct parser *parser) static void prepare_hex_string_data(struct parser *parser) { - if (parser->data_type == REG_EXPAND_SZ || parser->data_type == REG_MULTI_SZ) + if (parser->data_type == REG_EXPAND_SZ || parser->data_type == REG_MULTI_SZ || + parser->data_type == REG_SZ) { if (parser->is_unicode) { diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 6dc5502c87b..db5c232c424 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -227,7 +227,7 @@ reactos/win32ss/printing/monitors/localmon/ui/ # Synced to WineStaging-3.3 (kno ReactOS shares the following programs with Winehq. reactos/base/applications/cmdutils/cscript # Synced to WineStaging-3.3 -reactos/base/applications/cmdutils/reg # Synced to WineStaging-3.3 +reactos/base/applications/cmdutils/reg # Synced to WineStaging-3.9 reactos/base/applications/cmdutils/schtasks # Synced to WineStaging-3.3 reactos/base/applications/cmdutils/taskkill # Synced to WineStaging-3.3 reactos/base/applications/cmdutils/wmic # Synced to WineStaging-3.3