diff --git a/base/applications/cmdutils/reg/import.c b/base/applications/cmdutils/reg/import.c index f7f87939e2..5ff6853fd6 100644 --- a/base/applications/cmdutils/reg/import.c +++ b/base/applications/cmdutils/reg/import.c @@ -782,16 +782,26 @@ invalid: static WCHAR *hex_data_state(struct parser *parser, WCHAR *pos) { WCHAR *line = pos; +#if __REACTOS__ + BOOL is_unicode_save = parser->is_unicode; +#endif if (!*line) goto set_value; +#if __REACTOS__ + parser->is_unicode = TRUE; +#endif + if (!convert_hex_csv_to_hex(parser, &line)) goto invalid; if (parser->backslash) { set_state(parser, EOL_BACKSLASH); +#if __REACTOS__ + parser->is_unicode = is_unicode_save; +#endif return line; } @@ -799,10 +809,16 @@ static WCHAR *hex_data_state(struct parser *parser, WCHAR *pos) set_value: set_state(parser, SET_VALUE); +#if __REACTOS__ + parser->is_unicode = is_unicode_save; +#endif return line; invalid: free_parser_data(parser); +#if __REACTOS__ + parser->is_unicode = is_unicode_save; +#endif set_state(parser, LINE_START); return line; }