Added more behavior to "lef read" annotation to include handling

bracket characters in the LEF file that are escaped with backslashes.
This commit is contained in:
Tim Edwards 2020-05-29 12:51:21 -04:00
parent a57f024587
commit 9372a9e0e8
1 changed files with 11 additions and 2 deletions

View File

@ -1492,9 +1492,18 @@ LefReadPin(lefMacro, f, pinname, pinNum, oscale, is_imported)
}
else if ((delim = strchr(testpin, '[')) != NULL)
{
char *delim2;
*delim = '<';
if ((delim = strchr(testpin, ']')) != NULL)
*delim = '>';
if ((delim2 = strchr(testpin, ']')) != NULL)
*delim2 = '>';
/* In case the LEF file escapes the bracket, remove the backslashes */
if ((delim > testpin) && (*(delim - 1) == '\\'))
{
memmove(delim - 1, delim, strlen(delim) + 1);
if (delim2 > delim)
memmove(delim2 - 2, delim2 - 1, strlen(delim2 - 1) + 1);
}
}
for (firstlab = lefMacro->cd_labels; firstlab; firstlab = firstlab->lab_next)
if (!strcmp(firstlab->lab_text, testpin))