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:
parent
a57f024587
commit
9372a9e0e8
|
|
@ -1492,9 +1492,18 @@ LefReadPin(lefMacro, f, pinname, pinNum, oscale, is_imported)
|
||||||
}
|
}
|
||||||
else if ((delim = strchr(testpin, '[')) != NULL)
|
else if ((delim = strchr(testpin, '[')) != NULL)
|
||||||
{
|
{
|
||||||
|
char *delim2;
|
||||||
*delim = '<';
|
*delim = '<';
|
||||||
if ((delim = strchr(testpin, ']')) != NULL)
|
if ((delim2 = strchr(testpin, ']')) != NULL)
|
||||||
*delim = '>';
|
*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)
|
for (firstlab = lefMacro->cd_labels; firstlab; firstlab = firstlab->lab_next)
|
||||||
if (!strcmp(firstlab->lab_text, testpin))
|
if (!strcmp(firstlab->lab_text, testpin))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue