[PATCH 3/5] reg: Strip trailing backslash (if present) from the specified registry key
Hugh McMaster
hugh.mcmaster at outlook.com
Mon Apr 5 08:24:12 CDT 2021
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/reg/reg.c | 7 +++++--
programs/reg/reg.h | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index 3ffc5fe3d8f..a31ce2be743 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -174,7 +174,7 @@ HKEY path_get_rootkey(const WCHAR *path)
return NULL;
}
-static BOOL sane_path(const WCHAR *key)
+static BOOL sane_path(WCHAR *key)
{
unsigned int i = lstrlenW(key);
@@ -190,6 +190,9 @@ static BOOL sane_path(const WCHAR *key)
return FALSE;
}
+ if (key[i - 1] == '\\')
+ key[i - 1] = 0;
+
return TRUE;
}
@@ -229,7 +232,7 @@ WCHAR *get_long_key(HKEY root, WCHAR *path)
return long_key;
}
-BOOL parse_registry_key(const WCHAR *key, HKEY *root, WCHAR **path)
+BOOL parse_registry_key(WCHAR *key, HKEY *root, WCHAR **path)
{
if (!sane_path(key))
return FALSE;
diff --git a/programs/reg/reg.h b/programs/reg/reg.h
index c71ae2445e9..20196cf4a72 100644
--- a/programs/reg/reg.h
+++ b/programs/reg/reg.h
@@ -40,7 +40,7 @@ BOOL ask_confirm(unsigned int msgid, WCHAR *reg_info);
HKEY path_get_rootkey(const WCHAR *path);
WCHAR *build_subkey_path(WCHAR *path, DWORD path_len, WCHAR *subkey_name, DWORD subkey_len);
WCHAR *get_long_key(HKEY root, WCHAR *path);
-BOOL parse_registry_key(const WCHAR *key, HKEY *root, WCHAR **path);
+BOOL parse_registry_key(WCHAR *key, HKEY *root, WCHAR **path);
BOOL is_char(const WCHAR s, const WCHAR c);
BOOL is_switch(const WCHAR *s, const WCHAR c);
--
2.31.0
More information about the wine-devel
mailing list