regedit: Correctly parse key name containing ']' when deleting/exporting. <thestig at google.com>

svn path=/trunk/; revision=31107
This commit is contained in:
Christoph von Wittich 2007-12-09 15:34:14 +00:00
parent e24f9c4632
commit bdd068e087

View file

@ -441,12 +441,14 @@ LPSTR getRegKeyName(LPSTR lpLine)
keyNameBeg = strchr(lpLineCopy, '\\'); /* The key name start by '\' */ keyNameBeg = strchr(lpLineCopy, '\\'); /* The key name start by '\' */
if (keyNameBeg) { if (keyNameBeg) {
LPSTR keyNameEnd; if (lpLine[0] == '[') /* need to find matching ']' */
{
LPSTR keyNameEnd;
keyNameBeg++; /* is not part of the name */ keyNameEnd = strrchr(lpLineCopy, ']');
keyNameEnd = strchr(lpLineCopy, ']'); if (keyNameEnd) {
if (keyNameEnd) { *keyNameEnd = '\0'; /* remove ']' from the key name */
*keyNameEnd = '\0'; /* remove ']' from the key name */ }
} }
} else { } else {
keyNameBeg = lpLineCopy + strlen(lpLineCopy); /* branch - empty string */ keyNameBeg = lpLineCopy + strlen(lpLineCopy); /* branch - empty string */