summaryrefslogtreecommitdiffstats
path: root/winsup/utils/regtool.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/utils/regtool.cc')
-rw-r--r--winsup/utils/regtool.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/utils/regtool.cc b/winsup/utils/regtool.cc
index ef67bfc49..9ea9c14b5 100644
--- a/winsup/utils/regtool.cc
+++ b/winsup/utils/regtool.cc
@@ -194,10 +194,13 @@ find_key (int howmanyparts, REGSAM access)
int i;
if (*n == '/')
translate (n);
- while (*n == '\\')
+ while ((*n == '\\') || (*n == '/'))
n++;
- for (e = n; *e && *e != '\\'; e++);
- c = *e;
+ for (e = n; *e && *e != '\\' && *e != '/'; e++);
+ if (*e == '/')
+ c = '\\';
+ else
+ c = *e;
*e = 0;
for (i = 0; wkprefixes[i].string; i++)
if (strcmp (wkprefixes[i].string, n) == 0)