diff --git a/sicshipadaba.c b/sicshipadaba.c index b7639f77..e6b8b0ed 100644 --- a/sicshipadaba.c +++ b/sicshipadaba.c @@ -3609,11 +3609,16 @@ static int ListSICSHdbProperty(SConnection * pCon, SicsInterp * pSics, while ((pKey = GetNextHdbProperty(targetNode, buffer, 511)) != NULL) { DynStringConcat(data, (char *) pKey); if (genTclList) { - DynStringConcat(data, " "); - DynStringConcat(data, "{"); - DynStringConcat(data, buffer); - DynStringConcat(data, "}"); - DynStringConcat(data, " "); + char *bp; + DynStringConcatChar(data, ' '); + DynStringConcatChar(data, '{'); + for (bp = buffer; *bp; ++bp) { + if (*bp == '{' || *bp == '}') + DynStringConcatChar(data, '\\'); + DynStringConcatChar(data, *bp); + } + DynStringConcatChar(data, '}'); + DynStringConcatChar(data, ' '); } else { DynStringConcat(data, "="); DynStringConcat(data, buffer);