Made a few corrections to yesterday's code. Most are minor, but
one can potentially cause a crash condition.
This commit is contained in:
parent
73ffad3802
commit
725c8e9235
|
|
@ -442,7 +442,7 @@ dbCopyMaskHintsFunc(key, proprec, puds)
|
|||
{
|
||||
/* Append the original values to the end of the list */
|
||||
for (i = 0; i < parentproprec->prop_len; i++)
|
||||
newproprec->prop_value.prop_integer[i + proprec->prop_len] =
|
||||
newproprec->prop_value.prop_integer[i + j] =
|
||||
parentproprec->prop_value.prop_integer[i];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -731,7 +731,7 @@ drcTile (tile, dinfo, arg)
|
|||
if (cptr->drcc_exception != (char)DRC_EXCEPTION_NONE)
|
||||
{
|
||||
PropertyRecord *proprec;
|
||||
bool propfound, isinside;
|
||||
bool propfound, isinside = FALSE;
|
||||
char *name;
|
||||
char idx = cptr->drcc_exception;
|
||||
if (idx < 0) idx = -idx - 1;
|
||||
|
|
@ -740,12 +740,6 @@ drcTile (tile, dinfo, arg)
|
|||
/* Is there any exception area defined? */
|
||||
proprec = DBPropGet(arg->dCD_celldef, name, &propfound);
|
||||
|
||||
/* Quickest case: Rule is an exception but there are no
|
||||
* exception areas.
|
||||
*/
|
||||
if ((!propfound) && (cptr->drcc_exception >= 0))
|
||||
continue;
|
||||
|
||||
/* If an exception area exists, is the error edge inside? */
|
||||
if (propfound)
|
||||
{
|
||||
|
|
@ -776,8 +770,8 @@ drcTile (tile, dinfo, arg)
|
|||
* an exception area. Exception rules are ignored if
|
||||
* the edge is outside an exception area.
|
||||
*/
|
||||
if (isinside && (cptr->drcc_exception < 0)) continue;
|
||||
if (!isinside && (cptr->drcc_exception >= 0)) continue;
|
||||
if (isinside && (cptr->drcc_exception < 0)) continue;
|
||||
}
|
||||
|
||||
/* DRC_ANGLES_90 and DRC_SPLITTILE rules are handled by */
|
||||
|
|
@ -1193,7 +1187,7 @@ drcTile (tile, dinfo, arg)
|
|||
if (cptr->drcc_exception != (char)DRC_EXCEPTION_NONE)
|
||||
{
|
||||
PropertyRecord *proprec;
|
||||
bool propfound, isinside;
|
||||
bool propfound, isinside = FALSE;
|
||||
char *name;
|
||||
char idx = cptr->drcc_exception;
|
||||
if (idx < 0) idx = -idx - 1;
|
||||
|
|
@ -1217,7 +1211,6 @@ drcTile (tile, dinfo, arg)
|
|||
redge.r_ybot = redge.r_ytop = edgeY;
|
||||
redge.r_xbot = edgeLeft;
|
||||
redge.r_xtop = edgeRight;
|
||||
isinside = FALSE;
|
||||
for (i = 0; i < proprec->prop_len; i += 4)
|
||||
{
|
||||
if ((i + 4) > proprec->prop_len) break;
|
||||
|
|
|
|||
|
|
@ -1753,7 +1753,7 @@ drcMaxwidth(argc, argv)
|
|||
if (PlaneMaskHasPlane(pmask2, plane2))
|
||||
break;
|
||||
|
||||
if (plane2 == plane)
|
||||
if (PlaneMaskHasPlane(pmask, plane2))
|
||||
TechError("Warning: Exclude types for \"maxwidth\" are on the "
|
||||
"same plane and so cannot be checked.\n");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue