SICS-752 Escape all embedded braces in hlistprop tcllist output

This commit is contained in:
Douglas Clowes
2014-06-23 12:40:26 +10:00
parent 6dba13a5ab
commit 565ba9d10d

View File

@ -3609,11 +3609,16 @@ static int ListSICSHdbProperty(SConnection * pCon, SicsInterp * pSics,
while ((pKey = GetNextHdbProperty(targetNode, buffer, 511)) != NULL) { while ((pKey = GetNextHdbProperty(targetNode, buffer, 511)) != NULL) {
DynStringConcat(data, (char *) pKey); DynStringConcat(data, (char *) pKey);
if (genTclList) { if (genTclList) {
DynStringConcat(data, " "); char *bp;
DynStringConcat(data, "{"); DynStringConcatChar(data, ' ');
DynStringConcat(data, buffer); DynStringConcatChar(data, '{');
DynStringConcat(data, "}"); for (bp = buffer; *bp; ++bp) {
DynStringConcat(data, " "); if (*bp == '{' || *bp == '}')
DynStringConcatChar(data, '\\');
DynStringConcatChar(data, *bp);
}
DynStringConcatChar(data, '}');
DynStringConcatChar(data, ' ');
} else { } else {
DynStringConcat(data, "="); DynStringConcat(data, "=");
DynStringConcat(data, buffer); DynStringConcat(data, buffer);