diff --git a/calma/CalmaWrite.c b/calma/CalmaWrite.c index 8b28855c..b3320f71 100644 --- a/calma/CalmaWrite.c +++ b/calma/CalmaWrite.c @@ -117,8 +117,8 @@ extern void calmaRemoveDegenerate(BoundaryTop *blist); #define GDS_PROCESSED 1 #define PUSHTILEC(tp) \ - if ((tp)->ti_client == (ClientData) GDS_UNPROCESSED) { \ - (tp)->ti_client = (ClientData) GDS_PENDING; \ + if (TiGetClient(tp) == GDS_UNPROCESSED) { \ + TiSetClientINT(tp, GDS_PENDING); \ STACKPUSH((ClientData) (tp), SegStack); \ } @@ -2462,7 +2462,7 @@ calmaMergePaintFunc( BoundaryTop *bounds = NULL; /* Quick check for tiles that have already been processed */ - if (tile->ti_client == (ClientData)GDS_PROCESSED) return 0; + if (TiGetClientINT(tile) == GDS_PROCESSED) return 0; if (SegStack == (Stack *)NULL) SegStack = StackNew(64); @@ -2471,8 +2471,8 @@ calmaMergePaintFunc( while (!StackEmpty(SegStack)) { t = (Tile *) STACKPOP(SegStack); - if (t->ti_client != (ClientData)GDS_PENDING) continue; - t->ti_client = (ClientData)GDS_PROCESSED; + if (TiGetClientINT(t) != GDS_PENDING) continue; + TiSetClientINT(t, GDS_PROCESSED); split_type = -1; if (IsSplit(t)) diff --git a/calma/CalmaWriteZ.c b/calma/CalmaWriteZ.c index 9b074042..d1dae9dd 100644 --- a/calma/CalmaWriteZ.c +++ b/calma/CalmaWriteZ.c @@ -124,8 +124,8 @@ extern void calmaOutR8Z(double d, gzFile f); #define GDS_PROCESSED 1 #define PUSHTILEZ(tp) \ - if ((tp)->ti_client == (ClientData) GDS_UNPROCESSED) { \ - (tp)->ti_client = (ClientData) GDS_PENDING; \ + if (TiGetClient(tp) == GDS_UNPROCESSED) { \ + TiSetClientINT(tp, GDS_PENDING); \ STACKPUSH((ClientData) (tp), SegStack); \ } @@ -1898,7 +1898,7 @@ calmaMergePaintFuncZ( BoundaryTop *bounds = NULL; /* Quick check for tiles that have already been processed */ - if (tile->ti_client == (ClientData)GDS_PROCESSED) return 0; + if (TiGetClientINT(tile) == GDS_PROCESSED) return 0; if (SegStack == (Stack *)NULL) SegStack = StackNew(64); @@ -1907,8 +1907,8 @@ calmaMergePaintFuncZ( while (!StackEmpty(SegStack)) { t = (Tile *) STACKPOP(SegStack); - if (t->ti_client != (ClientData)GDS_PENDING) continue; - t->ti_client = (ClientData)GDS_PROCESSED; + if (TiGetClientINT(t) != GDS_PENDING) continue; + TiSetClientINT(t, GDS_PROCESSED); split_type = -1; if (IsSplit(t)) diff --git a/cif/CIFgen.c b/cif/CIFgen.c index c012dce1..db96e867 100644 --- a/cif/CIFgen.c +++ b/cif/CIFgen.c @@ -1222,8 +1222,8 @@ endbloat: #define CIF_IGNORE 2 #define PUSHTILE(tp, stack) \ - if ((tp)->ti_client == (ClientData) CIF_UNPROCESSED) { \ - (tp)->ti_client = (ClientData) CIF_PENDING; \ + if (TiGetClient(tp) == CIF_UNPROCESSED) { \ + TiSetClientINT(tp, CIF_PENDING); \ STACKPUSH((ClientData) (tp), stack); \ } @@ -1244,7 +1244,7 @@ cifProcessResetFunc( Tile *tile, ClientData clientData) /* unused */ { - tile->ti_client = (ClientData) CIF_UNPROCESSED; + TiSetClient(tile, CIF_UNPROCESSED); return 0; } @@ -1270,7 +1270,7 @@ cifProcessSelectiveResetFunc(tile, clipArea) TiToRect(tile, &area); if (!GEO_SURROUND(&area, clipArea)) - tile->ti_client = (ClientData) CIF_UNPROCESSED; + TiSetClient(tile, CIF_UNPROCESSED); return 0; } @@ -1477,8 +1477,8 @@ cifBloatAllFunc( while (!StackEmpty(BloatStack)) { t = (Tile *) STACKPOP(BloatStack); - if (t->ti_client != (ClientData)CIF_PENDING) continue; - t->ti_client = (ClientData)CIF_PROCESSED; + if (TiGetClientINT(t) != CIF_PENDING) continue; + TiSetClientINT(t, CIF_PROCESSED); /* Get the tile into CIF coordinates. */ @@ -1540,7 +1540,7 @@ cifBloatAllFunc( } /* Clear self */ - tile->ti_client = (ClientData)CIF_UNPROCESSED; + TiSetClient(tile, CIF_UNPROCESSED); /* NOTE: Tiles must be cleared after the bloat-all function has * completed. However, for bloat-all with a limiting distance, @@ -1554,7 +1554,7 @@ cifBloatAllFunc( while (!StackEmpty(ResetStack)) { t = (Tile *)STACKPOP(ResetStack); - t->ti_client = (ClientData) CIF_UNPROCESSED; + TiSetClient(t, CIF_UNPROCESSED); } #if 0 @@ -1819,7 +1819,7 @@ cifBridgeFunc1( int cifBridgeCheckFunc(Tile *tile, BridgeCheckStruct *brcs); /* Forward reference */ /* If tile is marked, then it has been handled, so ignore it */ - if (tile->ti_client != (ClientData)CIF_UNPROCESSED) return 0; + if (TiGetClient(tile) != CIF_UNPROCESSED) return 0; /* Find each tile outside corner (only two cases need to be checked) */ @@ -1942,7 +1942,7 @@ cifBridgeFunc2( int cifBridgeCheckFunc(Tile *tile, BridgeCheckStruct *brcs); /* Forward reference */ /* If tile is marked, then it has been handled, so ignore it */ - if (tile->ti_client != (ClientData)CIF_UNPROCESSED) return 0; + if (TiGetClient(tile) != CIF_UNPROCESSED) return 0; /* Find each tile outside corner (only two cases need to be checked) */ @@ -2160,7 +2160,7 @@ cifCloseFunc( int cifGatherFunc(Tile *tile, int *atotal, int mode); /* If tile is marked, then it has been handled, so ignore it */ - if (tile->ti_client != (ClientData)CIF_UNPROCESSED) return 0; + if (TiGetClient(tile) != CIF_UNPROCESSED) return 0; atotal = 0; @@ -2196,8 +2196,8 @@ cifGatherFunc( TileType type; dlong locarea; Rect area, newarea; - ClientData cdata = (mode == CLOSE_SEARCH) ? (ClientData)CIF_UNPROCESSED : - (ClientData)CIF_PENDING; + ClientData cdata = (mode == CLOSE_SEARCH) ? CIF_UNPROCESSED : + CD2INT(CIF_PENDING); static Stack *GatherStack = (Stack *)NULL; @@ -2210,7 +2210,7 @@ cifGatherFunc( tile = (Tile *)STACKPOP(GatherStack); /* Ignore if tile has already been processed */ - if (tile->ti_client != cdata) continue; + if (TiGetClient(tile) != cdata) continue; TiToRect(tile, &area); @@ -2261,15 +2261,15 @@ cifGatherFunc( } if (mode == CLOSE_SEARCH) - tile->ti_client = (ClientData)CIF_PENDING; + TiSetClientINT(tile, CIF_PENDING); else - tile->ti_client = (ClientData)CIF_PROCESSED; + TiSetClientINT(tile, CIF_PROCESSED); /* Look for additional neighboring space tiles */ /* Check top */ if (area.r_ytop != TiPlaneRect.r_ytop) for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) - if (tp->ti_client == cdata && TiGetBottomType(tp) == TT_SPACE) + if (TiGetClient(tp) == cdata && TiGetBottomType(tp) == TT_SPACE) { STACKPUSH(tp, GatherStack); } @@ -2277,7 +2277,7 @@ cifGatherFunc( /* Check bottom */ if (area.r_ybot != TiPlaneRect.r_ybot) for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) - if (tp->ti_client == cdata && TiGetTopType(tp) == TT_SPACE) + if (TiGetClient(tp) == cdata && TiGetTopType(tp) == TT_SPACE) { STACKPUSH(tp, GatherStack); } @@ -2285,7 +2285,7 @@ cifGatherFunc( /* Check left */ if (area.r_xbot != TiPlaneRect.r_xbot) for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) - if (tp->ti_client == cdata && TiGetRightType(tp) == TT_SPACE) + if (TiGetClient(tp) == cdata && TiGetRightType(tp) == TT_SPACE) { STACKPUSH(tp, GatherStack); } @@ -2293,7 +2293,7 @@ cifGatherFunc( /* Check right */ if (area.r_xtop != TiPlaneRect.r_xtop) for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) - if (tp->ti_client == cdata && TiGetLeftType(tp) == TT_SPACE) + if (TiGetClient(tp) == cdata && TiGetLeftType(tp) == TT_SPACE) { STACKPUSH(tp, GatherStack); } @@ -2343,7 +2343,7 @@ cifSquaresInitFunc(tile, clientData) Tile *tile; ClientData clientData; { - if (tile->ti_client == (ClientData) CIF_UNPROCESSED) + if (TiGetClient(tile) == CIF_UNPROCESSED) return 1; else return 0; @@ -2498,7 +2498,7 @@ cifUnconnectFunc( TileType t = TiGetTypeExact(tile); if (t == TT_SPACE) return 1; else if (t & TT_DIAGONAL) return 1; - else if (tile->ti_client != (ClientData)CIF_PROCESSED) return 1; + else if (TiGetClientINT(tile) != CIF_PROCESSED) return 1; return 0; } @@ -2551,8 +2551,8 @@ cifRectBoundingBox( while (!StackEmpty(BoxStack)) { t = (Tile *) STACKPOP(BoxStack); - if (t->ti_client != (ClientData)CIF_PENDING) continue; - t->ti_client = (ClientData)CIF_PROCESSED; + if (TiGetClientINT(t) != CIF_PENDING) continue; + TiSetClientINT(t, CIF_PROCESSED); /* Adjust bounding box */ TiToRect(t, &area); @@ -2615,7 +2615,7 @@ cifRectBoundingBox( /* Clear the tiles that were processed in this set */ - tile->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tile, CIF_IGNORE); STACKPUSH(tile, BoxStack); while (!StackEmpty(BoxStack)) { @@ -2623,33 +2623,33 @@ cifRectBoundingBox( /* Top */ for (tp = RT(t); RIGHT(tp) > LEFT(t); tp = BL(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, BoxStack); } /* Left */ for (tp = BL(t); BOTTOM(tp) < TOP(t); tp = RT(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, BoxStack); } /* Bottom */ for (tp = LB(t); LEFT(tp) < RIGHT(t); tp = TR(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, BoxStack); } /* Right */ for (tp = TR(t); TOP(tp) > BOTTOM(t); tp = LB(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, BoxStack); } } @@ -2820,8 +2820,8 @@ cifSquaresFillArea( while (!StackEmpty(CutStack)) { t = (Tile *) STACKPOP(CutStack); - if (t->ti_client != (ClientData)CIF_PENDING) continue; - t->ti_client = (ClientData)CIF_PROCESSED; + if (TiGetClientINT(t) != CIF_PENDING) continue; + TiSetClientINT(t, CIF_PROCESSED); /* Adjust bounding box */ TiToRect(t, &area); @@ -2946,7 +2946,7 @@ cifSquaresFillArea( /* Clear the tiles that were processed */ - tile->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tile, CIF_IGNORE); STACKPUSH(tile, CutStack); while (!StackEmpty(CutStack)) { @@ -2954,33 +2954,33 @@ cifSquaresFillArea( /* Top */ for (tp = RT(t); RIGHT(tp) > LEFT(t); tp = BL(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } /* Left */ for (tp = BL(t); BOTTOM(tp) < TOP(t); tp = RT(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } /* Bottom */ for (tp = LB(t); LEFT(tp) < RIGHT(t); tp = TR(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } /* Right */ for (tp = TR(t); TOP(tp) > BOTTOM(t); tp = LB(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } } @@ -3162,8 +3162,8 @@ cifSlotsFillArea( while (!StackEmpty(CutStack)) { t = (Tile *) STACKPOP(CutStack); - if (t->ti_client != (ClientData)CIF_PENDING) continue; - t->ti_client = (ClientData)CIF_PROCESSED; + if (TiGetClientINT(t) != CIF_PENDING) continue; + TiSetClientINT(t, CIF_PROCESSED); /* Adjust bounding box */ TiToRect(t, &area); @@ -3309,7 +3309,7 @@ cifSlotsFillArea( /* Clear the tiles that were processed */ - tile->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tile, CIF_IGNORE); STACKPUSH(tile, CutStack); while (!StackEmpty(CutStack)) { @@ -3317,33 +3317,33 @@ cifSlotsFillArea( /* Top */ for (tp = RT(t); RIGHT(tp) > LEFT(t); tp = BL(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } /* Left */ for (tp = BL(t); BOTTOM(tp) < TOP(t); tp = RT(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } /* Bottom */ for (tp = LB(t); LEFT(tp) < RIGHT(t); tp = TR(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } /* Right */ for (tp = TR(t); TOP(tp) > BOTTOM(t); tp = LB(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, CutStack); } } @@ -4446,7 +4446,7 @@ cifBridgeLimFunc1( brlimcs.sqdistance = (long) spacing * spacing; /* If tile is marked, then it has been handled, so ignore it */ - if (tile->ti_client != (ClientData)CIF_UNPROCESSED) return 0; + if (TiGetClient(tile) != CIF_UNPROCESSED) return 0; /* Find each tile outside corner (up to four) */ @@ -4609,7 +4609,7 @@ cifBridgeLimFunc2( brlimcs.sqdistance = (long) width * width; /* If tile is marked, then it has been handled, so ignore it */ - if (tile->ti_client != (ClientData)CIF_UNPROCESSED) return 0; + if (TiGetClient(tile) != CIF_UNPROCESSED) return 0; /* Find each tile outside corner (up to four) */ @@ -4756,8 +4756,8 @@ cifInteractingRegions( while (!StackEmpty(RegStack)) { t = (Tile *) STACKPOP(RegStack); - if (t->ti_client != (ClientData)CIF_PENDING) continue; - t->ti_client = (ClientData)CIF_PROCESSED; + if (TiGetClientINT(t) != CIF_PENDING) continue; + TiSetClientINT(t, CIF_PROCESSED); /* Get tile area for interaction search */ TiToRect(t, &area); @@ -4825,7 +4825,7 @@ cifInteractingRegions( /* to the destination if this region was found to be interacting with */ /* op->co_paintMask (op->co_cifMask) */ - tile->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tile, CIF_IGNORE); STACKPUSH(tile, RegStack); while (!StackEmpty(RegStack)) { @@ -4839,33 +4839,33 @@ cifInteractingRegions( /* Top */ for (tp = RT(t); RIGHT(tp) > LEFT(t); tp = BL(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, RegStack); } /* Left */ for (tp = BL(t); BOTTOM(tp) < TOP(t); tp = RT(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, RegStack); } /* Bottom */ for (tp = LB(t); LEFT(tp) < RIGHT(t); tp = TR(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, RegStack); } /* Right */ for (tp = TR(t); TOP(tp) > BOTTOM(t); tp = LB(tp)) - if (tp->ti_client == (ClientData)CIF_PROCESSED) + if (TiGetClientINT(tp) == CIF_PROCESSED) { - tp->ti_client = (ClientData)CIF_IGNORE; + TiSetClientINT(tp, CIF_IGNORE); STACKPUSH(tp, RegStack); } } diff --git a/drc/DRCcif.c b/drc/DRCcif.c index ddb60521..06149b32 100644 --- a/drc/DRCcif.c +++ b/drc/DRCcif.c @@ -59,8 +59,8 @@ extern void drcCheckCifArea(); extern Stack *DRCstack; #define PUSHTILE(tp) \ - if ((tp)->ti_client == (ClientData) DRC_UNPROCESSED) { \ - (tp)->ti_client = (ClientData) DRC_PENDING; \ + if (TiGetClient(tp) == DRC_UNPROCESSED) { \ + TiSetClientINT(tp, DRC_PENDING); \ STACKPUSH((ClientData) (tp), DRCstack); \ } @@ -1328,9 +1328,9 @@ drcCheckCifArea(starttile, arg, cptr) while (!StackEmpty(DRCstack)) { tile = (Tile *) STACKPOP(DRCstack); - if (tile->ti_client != (ClientData)DRC_PENDING) continue; + if (TiGetClientINT(tile) != DRC_PENDING) continue; area += (long)(RIGHT(tile)-LEFT(tile))*(TOP(tile)-BOTTOM(tile)); - tile->ti_client = (ClientData)DRC_PROCESSED; + TiSetClientINT(tile, DRC_PROCESSED); /* are we at the clip boundary? If so, skip to the end */ if (RIGHT(tile) == cliprect->r_xtop || LEFT(tile) == cliprect->r_xbot || @@ -1373,7 +1373,7 @@ drcCheckCifArea(starttile, arg, cptr) } forgetit: /* reset the tiles */ - starttile->ti_client = (ClientData)DRC_UNPROCESSED; + TiSetClient(starttile, DRC_UNPROCESSED); STACKPUSH(starttile, DRCstack); while (!StackEmpty(DRCstack)) { @@ -1381,34 +1381,34 @@ forgetit: /* Top */ for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Left */ for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Bottom */ for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Right */ for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } } @@ -1505,13 +1505,13 @@ drcCheckCifMaxwidth(starttile,arg,cptr) while (!StackEmpty(DRCstack)) { tile = (Tile *) STACKPOP(DRCstack); - if (tile->ti_client != (ClientData)DRC_PENDING) continue; + if (TiGetClientINT(tile) != DRC_PENDING) continue; if (boundrect.r_xbot > LEFT(tile)) boundrect.r_xbot = LEFT(tile); if (boundrect.r_xtop < RIGHT(tile)) boundrect.r_xtop = RIGHT(tile); if (boundrect.r_ybot > BOTTOM(tile)) boundrect.r_ybot = BOTTOM(tile); if (boundrect.r_ytop < TOP(tile)) boundrect.r_ytop = TOP(tile); - tile->ti_client = (ClientData)DRC_PROCESSED; + TiSetClientINT(tile, DRC_PROCESSED); if (boundrect.r_xtop - boundrect.r_xbot > edgelimit && boundrect.r_ytop - boundrect.r_ybot > edgelimit) break; @@ -1553,7 +1553,7 @@ drcCheckCifMaxwidth(starttile,arg,cptr) } /* reset the tiles */ - starttile->ti_client = (ClientData)DRC_UNPROCESSED; + TiSetClient(starttile, DRC_UNPROCESSED); STACKPUSH(starttile, DRCstack); while (!StackEmpty(DRCstack)) { @@ -1561,34 +1561,34 @@ drcCheckCifMaxwidth(starttile,arg,cptr) /* Top */ for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Left */ for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Bottom */ for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Right */ for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } } diff --git a/drc/DRCextend.c b/drc/DRCextend.c index 5d350813..66dfde2a 100644 --- a/drc/DRCextend.c +++ b/drc/DRCextend.c @@ -24,8 +24,8 @@ static char rcsid[] __attribute__ ((unused)) = "$Header: /usr/cvsroot/magic-8.0/ Stack *DRCstack = (Stack *)NULL; #define PUSHTILE(tp) \ - if ((tp)->ti_client == (ClientData) DRC_UNPROCESSED) { \ - (tp)->ti_client = (ClientData) DRC_PENDING; \ + if (TiGetClient(tp) == DRC_UNPROCESSED) { \ + TiSetClientINT(tp, DRC_PENDING); \ STACKPUSH((ClientData) (tp), DRCstack); \ } @@ -152,9 +152,9 @@ drcCheckArea(starttile,arg,cptr) while (!StackEmpty(DRCstack)) { tile = (Tile *) STACKPOP(DRCstack); - if (tile->ti_client != (ClientData)DRC_PENDING) continue; + if (TiGetClientINT(tile) != DRC_PENDING) continue; area += (long)(RIGHT(tile)-LEFT(tile))*(TOP(tile)-BOTTOM(tile)); - tile->ti_client = (ClientData)DRC_PROCESSED; + TiSetClientINT(tile, DRC_PROCESSED); /* are we at the clip boundary? If so, skip to the end */ if (RIGHT(tile) == cliprect->r_xtop || LEFT(tile) == cliprect->r_xbot || @@ -196,7 +196,7 @@ forgetit: while (!StackEmpty(DRCstack)) tile = (Tile *) STACKPOP(DRCstack); /* reset the tiles */ - starttile->ti_client = (ClientData)DRC_UNPROCESSED; + TiSetClient(starttile, DRC_UNPROCESSED); STACKPUSH(starttile, DRCstack); while (!StackEmpty(DRCstack)) { @@ -204,34 +204,34 @@ forgetit: /* Top */ for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Left */ for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Bottom */ for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Right */ for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } } @@ -285,8 +285,8 @@ drcCheckMaxwidth(starttile,arg,cptr,both) while (!StackEmpty(DRCstack)) { tile = (Tile *) STACKPOP(DRCstack); - if (tile->ti_client != (ClientData)DRC_PENDING) continue; - tile->ti_client = (ClientData)DRC_PROCESSED; + if (TiGetClientINT(tile) != DRC_PENDING) continue; + TiSetClientINT(tile, DRC_PROCESSED); if (boundrect.r_xbot > LEFT(tile)) boundrect.r_xbot = LEFT(tile); if (boundrect.r_xtop < RIGHT(tile)) boundrect.r_xtop = RIGHT(tile); @@ -336,7 +336,7 @@ drcCheckMaxwidth(starttile,arg,cptr,both) } /* reset the tiles */ - starttile->ti_client = (ClientData)DRC_UNPROCESSED; + TiSetClient(starttile, DRC_UNPROCESSED); STACKPUSH(starttile, DRCstack); while (!StackEmpty(DRCstack)) { @@ -344,33 +344,33 @@ drcCheckMaxwidth(starttile,arg,cptr,both) /* Top */ for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Left */ for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Bottom */ for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; - STACKPUSH(tp,DRCstack); + TiSetClient(tp, DRC_UNPROCESSED); + STACKPUSH(tp,DRCstack); } /* Right */ for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) - if (tp->ti_client != (ClientData)DRC_UNPROCESSED) + if (TiGetClient(tp) != DRC_UNPROCESSED) { - tp->ti_client = (ClientData)DRC_UNPROCESSED; + TiSetClient(tp, DRC_UNPROCESSED); STACKPUSH(tp,DRCstack); } diff --git a/extract/ExtBasic.c b/extract/ExtBasic.c index 5a17aa12..beafdb56 100644 --- a/extract/ExtBasic.c +++ b/extract/ExtBasic.c @@ -3038,10 +3038,10 @@ extTransFindSubsFunc1(tile, noderecptr) * regions under the same device) */ - if (tile->ti_client != (ClientData) extUnInit) + if (TiGetClient(tile) != extUnInit) { if ((noderecptr->region != (NodeRegion *)NULL) && - ((ClientData)noderecptr->region != tile->ti_client)) + (noderecptr->region != TiGetClientPTR(tile))) TxError("Warning: Split substrate under device at (%d %d)\n", tile->ti_ll.p_x, tile->ti_ll.p_y); if (IsSplit(tile)) @@ -3052,7 +3052,7 @@ extTransFindSubsFunc1(tile, noderecptr) else type = TiGetTypeExact(tile); - noderecptr->region = (NodeRegion *)tile->ti_client; + noderecptr->region = (NodeRegion *)TiGetClientPTR(tile); noderecptr->layer = type; return 1; } @@ -3495,8 +3495,8 @@ extTermAPFunc(tile, pNum, eapd) eapd->eapd_perim += MIN(RIGHT(tile), RIGHT(tp)) - MAX(LEFT(tile), LEFT(tp)); if (TTMaskHasType(eapd->eapd_gatemask, type)) - if (tp->ti_client != (ClientData)eapd->eapd_gatenode) - extAddSharedDevice(eapd, (NodeRegion *)tp->ti_client); + if (TiGetClientPTR(tp) != eapd->eapd_gatenode) + extAddSharedDevice(eapd, (NodeRegion *)TiGetClientPTR(tp)); } } @@ -3509,8 +3509,8 @@ extTermAPFunc(tile, pNum, eapd) eapd->eapd_perim += MIN(RIGHT(tile), RIGHT(tp)) - MAX(LEFT(tile), LEFT(tp)); if (TTMaskHasType(eapd->eapd_gatemask, type)) - if (tp->ti_client != (ClientData)eapd->eapd_gatenode) - extAddSharedDevice(eapd, (NodeRegion *)tp->ti_client); + if (TiGetClientPTR(tp) != eapd->eapd_gatenode) + extAddSharedDevice(eapd, (NodeRegion *)TiGetClientPTR(tp)); } } @@ -3523,8 +3523,8 @@ extTermAPFunc(tile, pNum, eapd) eapd->eapd_perim += MIN(TOP(tile), TOP(tp)) - MAX(BOTTOM(tile), BOTTOM(tp)); if (TTMaskHasType(eapd->eapd_gatemask, type)) - if (tp->ti_client != (ClientData)eapd->eapd_gatenode) - extAddSharedDevice(eapd, (NodeRegion *)tp->ti_client); + if (TiGetClientPTR(tp) != eapd->eapd_gatenode) + extAddSharedDevice(eapd, (NodeRegion *)TiGetClientPTR(tp)); } } @@ -3537,8 +3537,8 @@ extTermAPFunc(tile, pNum, eapd) eapd->eapd_perim += MIN(TOP(tile), TOP(tp)) - MAX(BOTTOM(tile), BOTTOM(tp)); if (TTMaskHasType(eapd->eapd_gatemask, type)) - if (tp->ti_client != (ClientData)eapd->eapd_gatenode) - extAddSharedDevice(eapd, (NodeRegion *)tp->ti_client); + if (TiGetClientPTR(tp) != eapd->eapd_gatenode) + extAddSharedDevice(eapd, (NodeRegion *)TiGetClientPTR(tp)); } } @@ -4803,9 +4803,9 @@ extNodeAreaFunc(tile, arg) * been visited in the meantime. If it's still unvisited, * visit it and process its neighbors. */ - if (tile->ti_client == (ClientData) reg) + if (TiGetClientPTR(tile) == reg) continue; - tile->ti_client = (ClientData) reg; + TiSetClientPTR(tile, reg); if (DebugIsSet(extDebugID, extDebNeighbor)) extShowTile(tile, "neighbor", 1); @@ -4909,21 +4909,21 @@ topside: if (IsSplit(tp)) { t = SplitBottomType(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILEBOTTOM(tp, tilePlaneNum); } - else if (tp->ti_client != (ClientData)reg && TTMaskHasType(mask, t)) + else if (TiGetClientPTR(tp) != reg && TTMaskHasType(mask, t)) { /* Count split tile twice, once for each node it belongs to. */ - tp->ti_client = extUnInit; + TiSetClient(tp, extUnInit); PUSHTILEBOTTOM(tp, tilePlaneNum); } } else { t = TiGetTypeExact(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -4954,21 +4954,21 @@ leftside: if (IsSplit(tp)) { t = SplitRightType(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILERIGHT(tp, tilePlaneNum); } - else if (tp->ti_client != (ClientData)reg && TTMaskHasType(mask, t)) + else if (TiGetClientPTR(tp) != reg && TTMaskHasType(mask, t)) { /* Count split tile twice, once for each node it belongs to. */ - tp->ti_client = extUnInit; + TiSetClient(tp, extUnInit); PUSHTILERIGHT(tp, tilePlaneNum); } } else { t = TiGetTypeExact(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -5000,21 +5000,21 @@ bottomside: if (IsSplit(tp)) { t = SplitTopType(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILETOP(tp, tilePlaneNum); } - else if (tp->ti_client != (ClientData)reg && TTMaskHasType(mask, t)) + else if (TiGetClientPTR(tp) != reg && TTMaskHasType(mask, t)) { /* Count split tile twice, once for each node it belongs to. */ - tp->ti_client = extUnInit; + TiSetClient(tp, extUnInit); PUSHTILETOP(tp, tilePlaneNum); } } else { t = TiGetTypeExact(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -5045,21 +5045,21 @@ rightside: if (IsSplit(tp)) { t = SplitLeftType(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILELEFT(tp, tilePlaneNum); } - else if (tp->ti_client != (ClientData)reg && TTMaskHasType(mask, t)) + else if (TiGetClientPTR(tp) != reg && TTMaskHasType(mask, t)) { /* Count split tile twice, once for each node it belongs to */ - tp->ti_client = extUnInit; + TiSetClient(tp, extUnInit); PUSHTILELEFT(tp, tilePlaneNum); } } else { t = TiGetTypeExact(tp); - if (tp->ti_client == extUnInit && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extUnInit && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -5090,7 +5090,7 @@ donesides: GOTOPOINT(tp, &tile->ti_ll); plane->pl_hint = tp; - if (tp->ti_client != extUnInit) continue; + if (TiGetClient(tp) != extUnInit) continue; /* tp and tile should have the same geometry for a contact */ if (IsSplit(tile) && IsSplit(tp)) diff --git a/extract/ExtLength.c b/extract/ExtLength.c index b896d3e2..89f650f2 100644 --- a/extract/ExtLength.c +++ b/extract/ExtLength.c @@ -108,7 +108,7 @@ struct extPathFloodArg }; /* Used to mark tiles during path tracing */ -#define MARKED ((ClientData) 1) +#define MARKED (1) /* Forward declarations */ Label *extPathLabel(); @@ -665,7 +665,7 @@ extPathPairDistance(lab1, lab2, pMin, pMax) /* Reset ti_client fields in tiles */ for (pNum = PL_TECHDEPBASE; pNum < DBNumPlanes; pNum++) (void) DBSrPaintClient((Tile *) NULL, extPathDef->cd_planes[pNum], - &TiPlaneRect, &DBAllButSpaceBits, MARKED, + &TiPlaneRect, &DBAllButSpaceBits, (ClientData) MARKED, extPathResetClient, (ClientData) NULL); } @@ -688,7 +688,7 @@ int extPathResetClient(tile) Tile *tile; { - tile->ti_client = (ClientData) CLIENTDEFAULT; + TiSetClient(tile, CLIENTDEFAULT); return (0); } @@ -780,7 +780,7 @@ extPathFlood(tile, p, distance, epa) Rect r; /* Mark the tile as being visited */ - tile->ti_client = MARKED; + TiSetClientINT(tile, MARKED); /* * Are we at the destination yet? @@ -820,22 +820,22 @@ extPathFlood(tile, p, distance, epa) /* TOP */ for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) - if (tp->ti_client != MARKED && DBConnectsTo(TiGetType(tp), type)) + if (TiGetClientINT(tp) != MARKED && DBConnectsTo(TiGetType(tp), type)) extPathFloodTile(tile, p, distance, tp, epa); /* RIGHT */ for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) - if (tp->ti_client != MARKED && DBConnectsTo(TiGetType(tp), type)) + if (TiGetClientINT(tp) != MARKED && DBConnectsTo(TiGetType(tp), type)) extPathFloodTile(tile, p, distance, tp, epa); /* BOTTOM */ for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) - if (tp->ti_client != MARKED && DBConnectsTo(TiGetType(tp), type)) + if (TiGetClientINT(tp) != MARKED && DBConnectsTo(TiGetType(tp), type)) extPathFloodTile(tile, p, distance, tp, epa); /* LEFT */ for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) - if (tp->ti_client != MARKED && DBConnectsTo(TiGetType(tp), type)) + if (TiGetClientINT(tp) != MARKED && DBConnectsTo(TiGetType(tp), type)) extPathFloodTile(tile, p, distance, tp, epa); /* Try connections to other planes */ @@ -856,7 +856,7 @@ extPathFlood(tile, p, distance, epa) plane->pl_hint = tp; /* If not yet visited, process tp */ - if (tp->ti_client == (ClientData) CLIENTDEFAULT + if (TiGetClient(tp) == CLIENTDEFAULT && DBConnectsTo(type, TiGetType(tp))) { epa->epa_pNum = pNum; diff --git a/extract/ExtNghbors.c b/extract/ExtNghbors.c index 9ea7b21a..55fed699 100644 --- a/extract/ExtNghbors.c +++ b/extract/ExtNghbors.c @@ -117,9 +117,9 @@ ExtFindNeighbors(tile, tilePlaneNum, arg) * been visited in the meantime. If it's still unvisited, * visit it and process its neighbors. */ - if (tile->ti_client == (ClientData) arg->fra_region) + if (TiGetClientPTR(tile) == arg->fra_region) continue; - tile->ti_client = (ClientData) arg->fra_region; + TiSetClientPTR(tile, arg->fra_region); tilesfound++; if (DebugIsSet(extDebugID, extDebNeighbor)) extShowTile(tile, "neighbor", 1); @@ -132,8 +132,8 @@ topside: if (IsSplit(tp)) { t = SplitBottomType(tp); - // if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) - if (tp->ti_client != (ClientData)arg->fra_region && TTMaskHasType(mask, t)) + // if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClientPTR(tp) != arg->fra_region && TTMaskHasType(mask, t)) { PUSHTILEBOTTOM(tp, tilePlaneNum); } @@ -141,7 +141,7 @@ topside: else { t = TiGetTypeExact(tp); - if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -156,8 +156,8 @@ leftside: if (IsSplit(tp)) { t = SplitRightType(tp); - // if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) - if (tp->ti_client != (ClientData)arg->fra_region && TTMaskHasType(mask, t)) + // if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClientPTR(tp) != arg->fra_region && TTMaskHasType(mask, t)) { PUSHTILERIGHT(tp, tilePlaneNum); } @@ -165,7 +165,7 @@ leftside: else { t = TiGetTypeExact(tp); - if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -181,8 +181,8 @@ bottomside: if (IsSplit(tp)) { t = SplitTopType(tp); - // if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) - if (tp->ti_client != (ClientData)arg->fra_region && TTMaskHasType(mask, t)) + // if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClientPTR(tp) != arg->fra_region && TTMaskHasType(mask, t)) { PUSHTILETOP(tp, tilePlaneNum); } @@ -190,7 +190,7 @@ bottomside: else { t = TiGetTypeExact(tp); - if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -205,8 +205,8 @@ rightside: if (IsSplit(tp)) { t = SplitLeftType(tp); - // if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) - if (tp->ti_client != (ClientData)arg->fra_region && TTMaskHasType(mask, t)) + // if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClientPTR(tp) != arg->fra_region && TTMaskHasType(mask, t)) { PUSHTILELEFT(tp, tilePlaneNum); } @@ -214,7 +214,7 @@ rightside: else { t = TiGetTypeExact(tp); - if (tp->ti_client == extNbrUn && TTMaskHasType(mask, t)) + if (TiGetClient(tp) == extNbrUn && TTMaskHasType(mask, t)) { PUSHTILE(tp, tilePlaneNum); } @@ -240,7 +240,7 @@ donesides: tp = plane->pl_hint; GOTOPOINT(tp, &tile->ti_ll); plane->pl_hint = tp; - if (tp->ti_client != extNbrUn) continue; + if (TiGetClient(tp) != extNbrUn) continue; /* tp and tile should have the same geometry for a contact */ if (IsSplit(tile) && IsSplit(tp)) @@ -317,7 +317,7 @@ fail: while (!StackEmpty(extNodeStack)) { POPTILE(tile, tilePlaneNum); - tile->ti_client = (ClientData) arg->fra_region; + TiSetClientPTR(tile, arg->fra_region); } return -1; } @@ -356,7 +356,7 @@ extNbrPushFunc(tile, pla) tileArea = &pla->area; /* Ignore tile if it's already been visited */ - if (tile->ti_client != extNbrUn) + if (TiGetClient(tile) != extNbrUn) return 0; /* Only consider tile if it overlaps tileArea or shares part of a side */ diff --git a/lef/defWrite.c b/lef/defWrite.c index ecddf23b..3d77c4f2 100644 --- a/lef/defWrite.c +++ b/lef/defWrite.c @@ -875,14 +875,14 @@ defExemptWireFunc( Rect r; /* Do not change the client data of tiles that have been processed! */ - if (tile->ti_client != (ClientData) 1) + if (TiGetClientINT(tile) != 1) { /* Ignore contacts, which need additional processing */ if (DBIsContact(TiGetType(tile))) return 0; TiToRect(tile, &r); if (GEO_SURROUND(rect, &r)) - tile->ti_client = (ClientData) 2; + TiSetClientINT(tile, 2); } return 0; } diff --git a/lef/lefWrite.c b/lef/lefWrite.c index 6315806f..f2981332 100644 --- a/lef/lefWrite.c +++ b/lef/lefWrite.c @@ -646,7 +646,7 @@ lefYankGeometry( bool iscut; /* Ignore marked tiles */ - if (tile->ti_client != (ClientData)CLIENTDEFAULT) return 0; + if (TiGetClient(tile) != CLIENTDEFAULT) return 0; otype = TiGetTypeExact(tile); if (IsSplit(tile)) @@ -736,7 +736,7 @@ lefYankContacts( TileTypeBitMask *lrmask; /* Ignore marked tiles */ - if (tile->ti_client != (ClientData)CLIENTDEFAULT) return 0; + if (TiGetClient(tile) != CLIENTDEFAULT) return 0; /* Ignore split tiles */ if (IsSplit(tile)) return 0; @@ -805,11 +805,11 @@ lefWriteGeometry( LefMapping *lefMagicToLefLayer = lefdata->lefMagicMap; /* Ignore tiles that have already been output */ - if (tile->ti_client != (ClientData)CLIENTDEFAULT) + if (TiGetClient(tile) != CLIENTDEFAULT) return 0; /* Mark this tile as visited */ - TiSetClient(tile, (ClientData)1); + TiSetClientINT(tile, 1); /* Get layer type */ if (IsSplit(tile)) @@ -834,7 +834,7 @@ lefWriteGeometry( /* Reset the tile to not visited and return 1 to */ /* signal that something is going to be written. */ - TiSetClient(tile, (ClientData)CLIENTDEFAULT); + TiSetClient(tile, CLIENTDEFAULT); return 1; } diff --git a/plow/PlowMain.c b/plow/PlowMain.c index 774b08e5..1273eaee 100644 --- a/plow/PlowMain.c +++ b/plow/PlowMain.c @@ -1948,7 +1948,7 @@ plowSplitY(tp, y) Tile *newTile; newTile = TiSplitY(tp, y); - newTile->ti_client = tp->ti_client; + TiSetClient(newTile, TiGetClient(tp)); TiSetBody(newTile, TiGetBody(tp)); return (newTile); diff --git a/plow/PlowYank.c b/plow/PlowYank.c index 39ea50e3..eb89deaf 100644 --- a/plow/PlowYank.c +++ b/plow/PlowYank.c @@ -314,7 +314,7 @@ plowYankUpdatePaint(yankTp, pNum) (void) plowSplitY(spareTp, TOP(yankTp)); if (BOTTOM(spareTp) < BOTTOM(yankTp)) spareTp = plowSplitY(spareTp, BOTTOM(yankTp)); - spareTp->ti_client = yankTp->ti_client; + TiSetClient(spareTp, TiGetClient(yankTp)); } startPoint.p_y = BOTTOM(spareTp) - 1; diff --git a/resis/ResBasic.c b/resis/ResBasic.c index 98c8d282..df685c3f 100644 --- a/resis/ResBasic.c +++ b/resis/ResBasic.c @@ -46,7 +46,7 @@ resNodeIsPort(node, x, y, tile) Rect *rect; Point p; resPort *pl, *lp; - tileJunk *junk = (tileJunk *)(tile->ti_client); + tileJunk *junk = (tileJunk *)TiGetClientPTR(tile); p.p_x = x; p.p_y = y; @@ -90,7 +90,7 @@ resAllPortNodes(tile, list) int x, y; resNode *resptr; resPort *pl; - tileJunk *junk = (tileJunk *)(tile->ti_client); + tileJunk *junk = (tileJunk *)TiGetClientPTR(tile); for (pl = junk->portList; pl; pl = pl->rp_nextPort) { @@ -198,7 +198,7 @@ ResEachTile(tile, startpoint) int xj, yj, i; bool merged; tElement *tcell; - tileJunk *tstructs= (tileJunk *)(tile->ti_client); + tileJunk *tstructs= (tileJunk *)TiGetClientPTR(tile); ExtDevice *devptr; ResTileCount++; diff --git a/resis/ResJunct.c b/resis/ResJunct.c index e99469c2..826302d1 100644 --- a/resis/ResJunct.c +++ b/resis/ResJunct.c @@ -60,9 +60,9 @@ ResNewSDDevice(tile, tp, xj, yj, direction, PendingList) * be generated which means "more debugging needed"; however, it will * not cause a segmentation violation. */ - if (tp->ti_client == CLIENTDEFAULT) return; + if (TiGetClient(tp) == CLIENTDEFAULT) return; - j = (tileJunk *) tp->ti_client; + j = (tileJunk *) TiGetClientPTR(tp); resDev = j->deviceList; if ((j->sourceEdge & direction) != 0) { @@ -128,7 +128,7 @@ ResNewSubDevice(tile, tp, xj, yj, direction, PendingList) tileJunk *j; newnode = FALSE; - j = (tileJunk *) tp->ti_client; + j = (tileJunk *) TiGetClientPTR(tp); resDev = j->deviceList; /* Arrived at a device that has a terminal connected to substrate */ @@ -181,8 +181,8 @@ ResProcessJunction(tile, tp, xj, yj, NodeList) ResJunction *junction; resNode *resptr; jElement *jcell; - tileJunk *j0 = (tileJunk *)tile->ti_client; - tileJunk *j2 = (tileJunk *)tp->ti_client; + tileJunk *j0 = (tileJunk *)TiGetClientPTR(tile); + tileJunk *j2 = (tileJunk *)TiGetClientPTR(tp); #ifdef PARANOID if (tile == tp) diff --git a/resis/ResMain.c b/resis/ResMain.c index 471d3cb5..dff693bd 100644 --- a/resis/ResMain.c +++ b/resis/ResMain.c @@ -357,7 +357,7 @@ ResAddBreakpointFunc(tile, node) { tileJunk *junk; - if (tile->ti_client == (ClientData) CLIENTDEFAULT) + if (TiGetClient(tile) == CLIENTDEFAULT) return 0; NEWPORT(node, tile); @@ -422,7 +422,7 @@ ResFindNewContactTiles(contacts) if ((IsSplit(tile) && TTMaskHasType(&mask, TiGetRightType(tile))) || TTMaskHasType(&mask, TiGetType(tile))) { - tileJunk *j = (tileJunk *)tile->ti_client; + tileJunk *j = (tileJunk *)TiGetClientPTR(tile); cElement *ce; ce = (cElement *) mallocMagic((unsigned) (sizeof(cElement))); @@ -444,7 +444,7 @@ ResFindNewContactTiles(contacts) */ if (TTMaskIntersect(DBResidueMask(ttype), &mask)) { - tileJunk *j = (tileJunk *)tile->ti_client; + tileJunk *j = (tileJunk *)TiGetClientPTR(tile); cElement *ce; ce = (cElement *) mallocMagic((unsigned) (sizeof(cElement))); @@ -545,7 +545,7 @@ ResProcessTiles(goodies, origin) { Tile *tile = fix->fp_tile; - if (tile != NULL && (((tileJunk *)tile->ti_client)->tj_status & + if (tile != NULL && (((tileJunk *)TiGetClientPTR(tile)->tj_status & RES_TILE_DONE) == 0) { resCurrentNode = fix->fp_node; @@ -584,7 +584,7 @@ ResProcessTiles(goodies, origin) for (tilenum = 0; tilenum < TILES_PER_JUNCTION; tilenum++) { Tile *tile = rj->rj_Tile[tilenum]; - tileJunk *j = (tileJunk *)tile->ti_client; + tileJunk *j = (tileJunk *)TiGetClientPTR(tile); if ((j->tj_status & RES_TILE_DONE) == 0) { @@ -611,7 +611,7 @@ ResProcessTiles(goodies, origin) for (tilenum = 0; tilenum < cp->cp_currentcontact; tilenum++) { Tile *tile = cp->cp_tile[tilenum]; - tileJunk *j = (tileJunk *) tile->ti_client; + tileJunk *j = (tileJunk *) TiGetClientPTR(tile); if ((j->tj_status & RES_TILE_DONE) == 0) { @@ -814,7 +814,7 @@ resExpandDevFunc(tile, cx) if (devResetStack == NULL) devResetStack = StackNew(8); - tile->ti_client = (ClientData)DEV_PROCESSED; + TiSetClientINT(tile, DEV_PROCESSED); STACKPUSH((ClientData)tile, devExtentsStack); while (!StackEmpty(devExtentsStack)) @@ -837,12 +837,12 @@ resExpandDevFunc(tile, cx) /* top */ for (tp2 = RT(tp); RIGHT(tp2) > LEFT(tp); tp2 = BL(tp2)) { - if (tp2->ti_client == (ClientData)DEV_PROCESSED) continue; + if (TiGetClientINT(tp2) == DEV_PROCESSED) continue; ttype = TiGetBottomType(tp2); if ((ttype == thisDev->type) || (DBIsContact(ttype) && TTMaskHasType(DBResidueMask(ttype), thisDev->type))) { - tp2->ti_client = (ClientData)DEV_PROCESSED; + TiSetClientINT(tp2, DEV_PROCESSED); STACKPUSH((ClientData)tp2, devExtentsStack); } } @@ -850,12 +850,12 @@ resExpandDevFunc(tile, cx) /* bottom */ for (tp2 = LB(tp); LEFT(tp2) < RIGHT(tp); tp2 = TR(tp2)) { - if (tp2->ti_client == (ClientData)DEV_PROCESSED) continue; + if (TiGetClientINT(tp2) == DEV_PROCESSED) continue; ttype = TiGetTopType(tp2); if ((ttype == thisDev->type) || (DBIsContact(ttype) && TTMaskHasType(DBResidueMask(ttype), thisDev->type))) { - tp2->ti_client = (ClientData)DEV_PROCESSED; + TiSetClientINT(tp2, DEV_PROCESSED); STACKPUSH((ClientData)tp2, devExtentsStack); } } @@ -863,12 +863,12 @@ resExpandDevFunc(tile, cx) /* right */ for (tp2 = TR(tp); TOP(tp2) > BOTTOM(tp); tp2 = LB(tp2)) { - if (tp2->ti_client == (ClientData)DEV_PROCESSED) continue; + if (TiGetClientINT(tp2) == DEV_PROCESSED) continue; ttype = TiGetLeftType(tp2); if ((ttype == thisDev->type) || (DBIsContact(ttype) && TTMaskHasType(DBResidueMask(ttype), thisDev->type))) { - tp2->ti_client = (ClientData)DEV_PROCESSED; + TiSetClientINT(tp2, DEV_PROCESSED); STACKPUSH((ClientData)tp2, devExtentsStack); } } @@ -876,12 +876,12 @@ resExpandDevFunc(tile, cx) /* left */ for (tp2 = BL(tp); BOTTOM(tp2) < TOP(tp); tp2 = RT(tp2)) { - if (tp2->ti_client == (ClientData)DEV_PROCESSED) continue; + if (TiGetClientINT(tp2) == DEV_PROCESSED) continue; ttype = TiGetRightType(tp2); if ((ttype == thisDev->type) || (DBIsContact(ttype) && TTMaskHasType(DBResidueMask(ttype), thisDev->type))) { - tp2->ti_client = (ClientData)DEV_PROCESSED; + TiSetClientINT(tp2, DEV_PROCESSED); STACKPUSH((ClientData)tp2, devExtentsStack); } } @@ -891,7 +891,7 @@ resExpandDevFunc(tile, cx) while (!StackEmpty(devResetStack)) { tp = (Tile *) STACKPOP(devResetStack); - tp->ti_client = (ClientData)CLIENTDEFAULT; + TiSetClient(tp, CLIENTDEFAULT); } /* Return 1 to stop the search; we only need to run this from */ @@ -1443,8 +1443,8 @@ FindStartTile(goodies, SourcePoint) MAX(BOTTOM(tile), BOTTOM(tp))) >> 1; return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + else if (TiGetClient(tp) != CLIENTDEFAULT) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) complex = TRUE; } @@ -1460,8 +1460,8 @@ FindStartTile(goodies, SourcePoint) MAX(BOTTOM(tile), BOTTOM(tp))) >> 1; return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + else if (TiGetClient(tp) != CLIENTDEFAULT) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) complex = TRUE; } @@ -1477,8 +1477,8 @@ FindStartTile(goodies, SourcePoint) MAX(LEFT(tile), LEFT(tp))) >> 1; return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + else if (TiGetClient(tp) != CLIENTDEFAULT) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) complex = TRUE; } @@ -1494,8 +1494,8 @@ FindStartTile(goodies, SourcePoint) MAX(LEFT(tile), LEFT(tp))) >> 1; return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + else if (TiGetClient(tp) != CLIENTDEFAULT) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) complex = TRUE; } @@ -1507,7 +1507,7 @@ FindStartTile(goodies, SourcePoint) if (devStack == NULL) devStack = StackNew(8); - ((tileJunk *)tile->ti_client)->tj_status |= RES_TILE_PUSHED; + ((tileJunk *)TiGetClientPTR(tile))->tj_status |= RES_TILE_PUSHED; STACKPUSH((ClientData)tile, devStack); while (!StackEmpty(devStack)) { @@ -1529,14 +1529,14 @@ FindStartTile(goodies, SourcePoint) } return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) + else if (TiGetClient(tp) != CLIENTDEFAULT) { - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) { - if (!(((tileJunk *)tp->ti_client)->tj_status + if (!(((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_PUSHED)) { - ((tileJunk *)tp->ti_client)->tj_status + ((tileJunk *)TiGetClientPTR(tp))->tj_status |= RES_TILE_PUSHED; STACKPUSH((ClientData)tp, devStack); } @@ -1560,14 +1560,14 @@ FindStartTile(goodies, SourcePoint) } return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) + else if (TiGetClient(tp) != CLIENTDEFAULT) { - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) { - if (!(((tileJunk *)tp->ti_client)->tj_status + if (!(((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_PUSHED)) { - ((tileJunk *)tp->ti_client)->tj_status + ((tileJunk *)TiGetClientPTR(tp))->tj_status |= RES_TILE_PUSHED; STACKPUSH((ClientData)tp, devStack); } @@ -1591,14 +1591,14 @@ FindStartTile(goodies, SourcePoint) } return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) + else if (TiGetClient(tp) != CLIENTDEFAULT) { - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) { - if (!(((tileJunk *)tp->ti_client)->tj_status + if (!(((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_PUSHED)) { - ((tileJunk *)tp->ti_client)->tj_status + ((tileJunk *)TiGetClientPTR(tp))->tj_status |= RES_TILE_PUSHED; STACKPUSH((ClientData)tp, devStack); } @@ -1622,14 +1622,14 @@ FindStartTile(goodies, SourcePoint) } return(tp); } - else if (tp->ti_client != CLIENTDEFAULT) + else if (TiGetClient(tp) != CLIENTDEFAULT) { - if (((tileJunk *)tp->ti_client)->tj_status & RES_TILE_DEV) + if (((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_DEV) { - if (!(((tileJunk *)tp->ti_client)->tj_status + if (!(((tileJunk *)TiGetClientPTR(tp))->tj_status & RES_TILE_PUSHED)) { - ((tileJunk *)tp->ti_client)->tj_status + ((tileJunk *)TiGetClientPTR(tp))->tj_status |= RES_TILE_PUSHED; STACKPUSH((ClientData)tp, devStack); } @@ -1722,15 +1722,15 @@ ResGetDevice(pt, type) { if (TTMaskHasType(&ExtCurStyle->exts_deviceMask, TiGetLeftType(tile)) || TTMaskHasType(&ExtCurStyle->exts_deviceMask, TiGetRightType(tile))) - return (((tileJunk *)tile->ti_client)->deviceList); + return (((tileJunk *)TiGetClientPTR(tile))->deviceList); } else if (TTMaskHasType(&ExtCurStyle->exts_deviceMask, TiGetType(tile))) { /* Failure to have a valid client data will result in a "Bad Device" * error and indicates a problem that needs debugging. */ - if (tile->ti_client != CLIENTDEFAULT) - return (((tileJunk *)tile->ti_client)->deviceList); + if (TiGetClient(tile) != CLIENTDEFAULT) + return (((tileJunk *)TiGetClientPTR(tile))->deviceList); } return NULL; } diff --git a/resis/ResMakeRes.c b/resis/ResMakeRes.c index 5a5ff1ad..360f2296 100644 --- a/resis/ResMakeRes.c +++ b/resis/ResMakeRes.c @@ -132,7 +132,7 @@ ResCalcEastWest(tile, pendingList, doneList, resList) resElement *element; resNode *currNode; float rArea; - tileJunk *junk = (tileJunk *)tile->ti_client; + tileJunk *junk = (tileJunk *)TiGetClientPTR(tile); merged = FALSE; height = TOP(tile) - BOTTOM(tile); @@ -303,7 +303,7 @@ ResCalcNorthSouth(tile, pendingList, doneList, resList) resElement *element; resNode *currNode; float rArea; - tileJunk *junk = (tileJunk *)tile->ti_client; + tileJunk *junk = (tileJunk *)TiGetClientPTR(tile); merged = FALSE; width = RIGHT(tile) - LEFT(tile); @@ -472,7 +472,7 @@ ResCalcNearDevice(tile, pendingList, doneList, resList) bool merged; int devcount, devedge, deltax, deltay; Breakpoint *p1, *p2, *p3; - tileJunk *junk = (tileJunk *)tile->ti_client; + tileJunk *junk = (tileJunk *)TiGetClientPTR(tile); merged = FALSE; diff --git a/resis/ResMerge.c b/resis/ResMerge.c index d140ce6f..d5f9fdfd 100644 --- a/resis/ResMerge.c +++ b/resis/ResMerge.c @@ -709,7 +709,7 @@ ResMergeNodes(node1, node2, pendingList, doneList) tileJunk *junk; tile = tJunc->je_thisj->rj_Tile[i]; - junk = (tileJunk *) tile->ti_client; + junk = (tileJunk *) TiGetClientPTR(tile); if ((junk->tj_status & RES_TILE_DONE) == FALSE) ResFixBreakPoint(&junk->breakList, node2, node1); @@ -733,7 +733,7 @@ ResMergeNodes(node1, node2, pendingList, doneList) workingCon->ce_thisc->cp_cnode[i] = node1; tile =tCon->ce_thisc->cp_tile[i]; - junk = (tileJunk *) tile->ti_client; + junk = (tileJunk *) TiGetClientPTR(tile); if ((junk->tj_status & RES_TILE_DONE) == FALSE) ResFixBreakPoint(&junk->breakList, node2, node1); } diff --git a/resis/ResUtils.c b/resis/ResUtils.c index 29087de4..9a875aaa 100644 --- a/resis/ResUtils.c +++ b/resis/ResUtils.c @@ -190,7 +190,7 @@ ResAddPlumbing(tile, arg) if (resDevStack == NULL) resDevStack = StackNew(64); - if (tile->ti_client == (ClientData) CLIENTDEFAULT) + if (TiGetClient(tile) == CLIENTDEFAULT) { if (IsSplit(tile)) loctype = (SplitSide(tile)) ? SplitRightType(tile) : @@ -437,12 +437,12 @@ ResAddPlumbing(tile, arg) t1 = TiGetTypeExact(tp1); devptr = ExtCurStyle->exts_device[t1]; - j0 = (tileJunk *) tp1->ti_client; + j0 = (tileJunk *) TiGetClientPTR(tp1); /* top */ for (tp2 = RT(tp1); RIGHT(tp2) > LEFT(tp1); tp2 = BL(tp2)) { if ((TiGetBottomType(tp2) == t1) && - (tp2->ti_client == (ClientData) CLIENTDEFAULT)) + (TiGetClient(tp2) == CLIENTDEFAULT)) { Junk = resAddField(tp2); STACKPUSH((ClientData)tp2, resDevStack); @@ -472,7 +472,7 @@ ResAddPlumbing(tile, arg) for (tp2 = LB(tp1); LEFT(tp2) < RIGHT(tp1); tp2 = TR(tp2)) { if ((TiGetTopType(tp2) == t1) && - (tp2->ti_client == (ClientData) CLIENTDEFAULT)) + (TiGetClient(tp2) == CLIENTDEFAULT)) { Junk = resAddField(tp2); STACKPUSH((ClientData)tp2, resDevStack); @@ -502,7 +502,7 @@ ResAddPlumbing(tile, arg) for (tp2 = TR(tp1); TOP(tp2) > BOTTOM(tp1); tp2 = LB(tp2)) { if ((TiGetLeftType(tp2) == t1) && - (tp2->ti_client == (ClientData) CLIENTDEFAULT)) + (TiGetClient(tp2) == CLIENTDEFAULT)) { Junk = resAddField(tp2); STACKPUSH((ClientData)tp2, resDevStack); @@ -532,7 +532,7 @@ ResAddPlumbing(tile, arg) for (tp2 = BL(tp1); BOTTOM(tp2) < TOP(tp1); tp2 = RT(tp2)) { if ((TiGetRightType(tp2) == t1) && - (tp2->ti_client == (ClientData) CLIENTDEFAULT)) + (TiGetClient(tp2) == CLIENTDEFAULT)) { Junk = resAddField(tp2); STACKPUSH((ClientData)tp2, resDevStack); @@ -564,7 +564,7 @@ ResAddPlumbing(tile, arg) if (source != (Tile *) NULL) { - tileJunk *j = (tileJunk *) source->ti_client; + tileJunk *j = (tileJunk *) TiGetClientPTR(source); STACKPUSH((ClientData)source, resDevStack); j->tj_status &= ~RES_TILE_SD; @@ -583,7 +583,7 @@ ResAddPlumbing(tile, arg) /* top */ for (tp2 = RT(tp1); RIGHT(tp2) > LEFT(tp1); tp2 = BL(tp2)) { - tileJunk *j2 = (tileJunk *) tp2->ti_client; + tileJunk *j2 = (tileJunk *) TiGetClientPTR(tp2); if (TiGetBottomType(tp2) == t1) { if (j2->tj_status & RES_TILE_SD) @@ -596,7 +596,7 @@ ResAddPlumbing(tile, arg) /* bottom */ for(tp2 = LB(tp1); LEFT(tp2) < RIGHT(tp1); tp2 = TR(tp2)) { - tileJunk *j2 = (tileJunk *) tp2->ti_client; + tileJunk *j2 = (tileJunk *) TiGetClientPTR(tp2); if (TiGetTopType(tp2) == t1) { if (j2->tj_status & RES_TILE_SD) @@ -609,7 +609,7 @@ ResAddPlumbing(tile, arg) /* right */ for (tp2 = TR(tp1); TOP(tp2) > BOTTOM(tp1); tp2 = LB(tp2)) { - tileJunk *j2 = (tileJunk *) tp2->ti_client; + tileJunk *j2 = (tileJunk *) TiGetClientPTR(tp2); if (TiGetLeftType(tp2) == t1) { if (j2->tj_status & RES_TILE_SD) @@ -622,7 +622,7 @@ ResAddPlumbing(tile, arg) /* left */ for (tp2 = BL(tp1); BOTTOM(tp2) < TOP(tp1); tp2 = RT(tp2)) { - tileJunk *j2 = (tileJunk *) tp2->ti_client; + tileJunk *j2 = (tileJunk *) TiGetClientPTR(tp2); if (TiGetRightType(tp2) == t1) { if (j2->tj_status & RES_TILE_SD) @@ -657,10 +657,10 @@ ResRemovePlumbing(tile, arg) { - if (tile->ti_client != (ClientData) CLIENTDEFAULT) + if (TiGetClient(tile) != CLIENTDEFAULT) { - freeMagic(((char *)(tile->ti_client))); - tile->ti_client = (ClientData) CLIENTDEFAULT; + freeMagic((char *)TiGetClientPTR(tile)); + TiSetClient(tile, CLIENTDEFAULT); } return(0); } @@ -725,7 +725,7 @@ ResPreProcessDevices(TileList, DeviceList, Def) GOTOPOINT(tile, &(TileList->area.r_ll)); tt = TiGetType(tile); - tstruct = (tileJunk *) tile->ti_client; + tstruct = (tileJunk *) TiGetClientPTR(tile); if ((tstruct == (tileJunk *)CLIENTDEFAULT) || (tstruct->deviceList == NULL) || @@ -846,11 +846,11 @@ resAddField(tile) Tile *tile; { tileJunk *Junk; - if ((Junk = (tileJunk *)tile->ti_client) == (tileJunk *) CLIENTDEFAULT) + if ((Junk = (tileJunk *)TiGetClientPTR(tile)) == (tileJunk *) CLIENTDEFAULT) { Junk = (tileJunk *) mallocMagic((unsigned) (sizeof(tileJunk))); ResJunkInit(Junk); - tile->ti_client = (ClientData) Junk; + TiSetClientPTR(tile, Junk); } return Junk; } diff --git a/router/rtrPin.c b/router/rtrPin.c index aa7bec1e..b7b7aa20 100644 --- a/router/rtrPin.c +++ b/router/rtrPin.c @@ -171,7 +171,7 @@ rtrPinArrayInit(ch, side, pins, nPins) if (side == GEO_WEST) p.p_x--; if (side == GEO_SOUTH) p.p_y--; tp = TiSrPointNoHint(RtrChannelPlane, &p); - if ((adjacent = (GCRChannel *) tp->ti_client)) + if ((adjacent = (GCRChannel *) TiGetClientPTR(tp))) { /* Only link if entering the linked channel from a legal side */ linked = RtrPointToPin(adjacent, otherSide, &point); diff --git a/router/rtrSide.c b/router/rtrSide.c index 9f0f0134..681f6624 100644 --- a/router/rtrSide.c +++ b/router/rtrSide.c @@ -289,7 +289,7 @@ rtrSideInitClient(tile, client) Tile *tile; ClientData client; { - tile->ti_client = client; + TiSetClient(tile, client); return (0); } @@ -323,7 +323,7 @@ rtrEnumSidesFunc(tile) Side side; /* Skip if already processed, out of the area, or not a cell tile */ - yprev = (int) CD2INT(tile->ti_client); + yprev = (int) TiGetClientINT(tile); ybot = MAX(BOTTOM(tile), rtrSideArea.r_ybot); if (yprev <= ybot || tile->ti_body == (ClientData) NULL || RIGHT(tile) >= rtrSideArea.r_xtop) @@ -392,7 +392,7 @@ rtrEnumSidesFunc(tile) if (LEFT(tp) != RIGHT(tile) || TOP(tp) <= ybot) { /* Processed this tile completely */ - tile->ti_client = INT2CD(ybot); + TiSetClientINT(tile, ybot); return (0); } } @@ -441,7 +441,7 @@ rtrEnumSidesFunc(tile) else { side.side_line.r_ytop = MIN(TOP(tp), ytop); - tp->ti_client = INT2CD(ybot); + TiSetClientINT(tp, ybot); } } } diff --git a/router/rtrStem.c b/router/rtrStem.c index 90d6fe35..1268c606 100644 --- a/router/rtrStem.c +++ b/router/rtrStem.c @@ -562,7 +562,7 @@ rtrStemTryPin(loc, dir, p, use) tp = TiSrPointNoHint(RtrChannelPlane, &pSearch); if (TiGetType(tp) != TT_SPACE) return ((GCRPin *) NULL); - ch = (GCRChannel *) tp->ti_client; + ch = (GCRChannel *) TiGetClientPTR(tp); if (ch == (GCRChannel *) NULL || ch->gcr_type != CHAN_NORMAL) return ((GCRPin *) NULL); @@ -949,7 +949,7 @@ rtrStemSearch(center, dir, point) tile = TiSrPointNoHint(RtrChannelPlane, point); if (TiGetType(tile) == TT_SPACE) { - if ((ch = (GCRChannel *) tile->ti_client)) + if ((ch = (GCRChannel *) TiGetClientPTR(tile))) break; return ((GCRChannel *) NULL); } diff --git a/router/rtrTravers.c b/router/rtrTravers.c index 4aea9cc0..0b6c622a 100644 --- a/router/rtrTravers.c +++ b/router/rtrTravers.c @@ -268,13 +268,13 @@ rtrSrTraverseFunc(tile, ts) if (csa->csa_clear) { - if (tile->ti_client == (ClientData) CLIENTDEFAULT) return 0; - tile->ti_client = (ClientData) CLIENTDEFAULT; + if (TiGetClient(tile) == CLIENTDEFAULT) return 0; + TiSetClient(tile, CLIENTDEFAULT); } else { - if (tile->ti_client != (ClientData) CLIENTDEFAULT) return 0; - tile->ti_client = (ClientData) 1; + if (TiGetClient(tile) != CLIENTDEFAULT) return 0; + TiSetClientINT(tile, 1); } /* Call the client function, if there is one. */ @@ -300,9 +300,9 @@ rtrSrTraverseFunc(tile, ts) { if (csa->csa_clear) { - if (t2->ti_client == (ClientData) CLIENTDEFAULT) continue; + if (TiGetClient(t2) == CLIENTDEFAULT) continue; } - else if (t2->ti_client != (ClientData) CLIENTDEFAULT) continue; + else if (TiGetClient(t2) != CLIENTDEFAULT) continue; if (rtrSrTraverseFunc(t2, &nts) != 0) return 1; } } @@ -315,9 +315,9 @@ rtrSrTraverseFunc(tile, ts) { if (csa->csa_clear) { - if (t2->ti_client == (ClientData) CLIENTDEFAULT) continue; + if (TiGetClient(t2) == CLIENTDEFAULT) continue; } - else if (t2->ti_client != (ClientData) CLIENTDEFAULT) continue; + else if (TiGetClient(t2) != CLIENTDEFAULT) continue; if (rtrSrTraverseFunc(t2, &nts) != 0) return 1; } } @@ -330,9 +330,9 @@ rtrSrTraverseFunc(tile, ts) { if (csa->csa_clear) { - if (t2->ti_client == (ClientData) CLIENTDEFAULT) goto nextRight; + if (TiGetClient(t2) == CLIENTDEFAULT) goto nextRight; } - else if (t2->ti_client != (ClientData) CLIENTDEFAULT) goto nextRight; + else if (TiGetClient(t2) != CLIENTDEFAULT) goto nextRight; if (rtrSrTraverseFunc(t2, &nts) != 0) return 1; } nextRight: if (BOTTOM(t2) <= tileArea.r_ybot) break; @@ -346,9 +346,9 @@ rtrSrTraverseFunc(tile, ts) { if (csa->csa_clear) { - if (t2->ti_client == (ClientData) CLIENTDEFAULT) goto nextTop; + if (TiGetClient(t2) == CLIENTDEFAULT) goto nextTop; } - else if (t2->ti_client != (ClientData) CLIENTDEFAULT) goto nextTop; + else if (TiGetClient(t2) != CLIENTDEFAULT) goto nextTop; if (rtrSrTraverseFunc(t2, &nts) != 0) return 1; } nextTop: if (LEFT(t2) <= tileArea.r_xbot) break; diff --git a/select/selOps.c b/select/selOps.c index 73fc9915..69049e81 100644 --- a/select/selOps.c +++ b/select/selOps.c @@ -413,9 +413,9 @@ selShortTileProc(tile, ssd) Tile *tile; ShortSearchData *ssd; { - if ((int)CD2INT(tile->ti_client) < ssd->cost) + if ((int)TiGetClientINT(tile) < ssd->cost) { - ssd->cost = (int)CD2INT(tile->ti_client); + ssd->cost = (int)TiGetClientINT(tile); ssd->tile = tile; } return 0; @@ -457,7 +457,7 @@ selShortFindReverse(rlist, tile, pnum, fdir) TileType ttype; mindir = fdir; - mincost = (int)CD2INT(tile->ti_client); + mincost = (int)TiGetClientINT(tile); while (TRUE) { @@ -504,7 +504,7 @@ selShortFindReverse(rlist, tile, pnum, fdir) newrrec->r_next = *rlist; *rlist = newrrec; - if ((int)CD2INT(tile->ti_client) == 0) return 0; /* We're done */ + if ((int)TiGetClientINT(tile) == 0) return 0; /* We're done */ minp = pnum; @@ -518,10 +518,10 @@ selShortFindReverse(rlist, tile, pnum, fdir) for (tp = RT(tile); RIGHT(tp) > LEFT(tile); tp = BL(tp)) { - if (tp->ti_client == (ClientData)CLIENTDEFAULT) continue; - if ((int)CD2INT(tp->ti_client) < mincost) + if (TiGetClient(tp) == CLIENTDEFAULT) continue; + if ((int)TiGetClientINT(tp) < mincost) { - mincost = (int)CD2INT(tp->ti_client); + mincost = (int)TiGetClientINT(tp); mintp = tp; mindir = GEO_NORTH; } @@ -538,10 +538,10 @@ leftside: for (tp = BL(tile); BOTTOM(tp) < TOP(tile); tp = RT(tp)) { - if (tp->ti_client == (ClientData)CLIENTDEFAULT) continue; - if ((int)CD2INT(tp->ti_client) < mincost) + if (TiGetClient(tp) == CLIENTDEFAULT) continue; + if ((int)TiGetClientINT(tp) < mincost) { - mincost = (int)CD2INT(tp->ti_client); + mincost = (int)TiGetClientINT(tp); mintp = tp; mindir = GEO_WEST; } @@ -558,10 +558,10 @@ bottomside: for (tp = LB(tile); LEFT(tp) < RIGHT(tile); tp = TR(tp)) { - if (tp->ti_client == (ClientData)CLIENTDEFAULT) continue; - if ((int)CD2INT(tp->ti_client) < mincost) + if (TiGetClient(tp) == CLIENTDEFAULT) continue; + if ((int)TiGetClientINT(tp) < mincost) { - mincost = (int)CD2INT(tp->ti_client); + mincost = (int)TiGetClientINT(tp); mintp = tp; mindir = GEO_SOUTH; } @@ -578,10 +578,10 @@ rightside: for (tp = TR(tile); TOP(tp) > BOTTOM(tile); tp = LB(tp)) { - if (tp->ti_client == (ClientData)CLIENTDEFAULT) continue; - if ((int)CD2INT(tp->ti_client) < mincost) + if (TiGetClient(tp) == CLIENTDEFAULT) continue; + if ((int)TiGetClientINT(tp) < mincost) { - mincost = (int)CD2INT(tp->ti_client); + mincost = (int)TiGetClientINT(tp); mintp = tp; mindir = GEO_EAST; } @@ -620,7 +620,7 @@ donesides: if (mincost == INT_MAX) return 1; /* Failsafe: Avoid infinite recursion */ - if ((tile == mintp) || (tile->ti_client == CLIENTDEFAULT)) + if ((tile == mintp) || (TiGetClient(tile) == CLIENTDEFAULT)) { TxError("Failed to trace back shorting path.\n"); break; @@ -712,7 +712,7 @@ selShortProcessTile(tile, cost, fdir, mask) /* algorithm to find any valid path but not the best path. That */ /* choice keeps the algorithm fast and efficient. */ - if (tile->ti_client != (ClientData)CLIENTDEFAULT) return 1; + if (TiGetClient(tile) != CLIENTDEFAULT) return 1; if (IsSplit(tile)) { @@ -748,10 +748,10 @@ selShortProcessTile(tile, cost, fdir, mask) /* If this tile is unvisited, or has a lower cost, then return and */ /* keep going. Otherwise, return 1 to stop the search this direction */ - if (tile->ti_client == (ClientData)CLIENTDEFAULT) - TiSetClient(tile, cost); - else if ((int)CD2INT(tile->ti_client) > cost) - TiSetClient(tile, cost); + if (TiGetClient(tile) == CLIENTDEFAULT) + TiSetClientINT(tile, cost); + else if ((int)TiGetClientINT(tile) > cost) + TiSetClientINT(tile, cost); else return 1; @@ -795,7 +795,7 @@ selShortFindForward(srctile, srctype, srcpnum, desttile) ShortStack = StackNew(64); /* Set the cost of the source tile to zero */ - TiSetClient(srctile, (ClientData)0); + TiSetClientINT(srctile, 0); /* Drop the first entry on the stack */ sd = NewSD(cost, srctile, srctype, srcpnum); @@ -1009,7 +1009,7 @@ SelectShort(char *lab1, char *lab2) selShortFindForward(srctile, srctype, srcpnum, desttile/*, desttype*/); /* Now see if destination has been counted */ - if (desttile->ti_client == (ClientData)CLIENTDEFAULT) return NULL; + if (TiGetClient(desttile) == CLIENTDEFAULT) return NULL; /* Now find the shortest path between source and destination */ rlist = NULL; diff --git a/sim/SimExtract.c b/sim/SimExtract.c index 048dec6f..b09d99a0 100644 --- a/sim/SimExtract.c +++ b/sim/SimExtract.c @@ -372,7 +372,7 @@ int SimTransTerms( bp, trans ) TransTerm *term; Tile *tile = bp->b_outside; TileType type; - NodeRegion *reg = (NodeRegion *) tile->ti_client; + NodeRegion *reg = (NodeRegion *) TiGetClientPTR(tile); int pNum; int i; @@ -590,7 +590,7 @@ SimFindOneNode( sx, tile ) transistor.t_pnum = DBNumPlanes; transistor.t_do_terms = FALSE; - gateTile->ti_client = (ClientData) extUnInit; + TiSetClient(gateTile, extUnInit); arg.fra_connectsTo = &SimTransMask; if (IsSplit(tile)) @@ -639,7 +639,7 @@ SimFindOneNode( sx, tile ) loctype = TiGetTypeExact(sdTile); arg.fra_pNum = DBPlane(loctype); - arg.fra_uninit = (ClientData) sdTile->ti_client; + arg.fra_uninit = TiGetClient(sdTile); arg.fra_region = (ExtRegion *) &ret; arg.fra_each = SimTransistorTile; (void) ExtFindNeighbors( sdTile, arg.fra_pNum, &arg ); @@ -718,7 +718,7 @@ SimGetNodeName(sx, tp, path) /* check to see if this tile has been extracted before */ - if (tp->ti_client == extUnInit) + if (TiGetClient(tp) == extUnInit) { NodeSpec *ns; @@ -732,7 +732,7 @@ SimGetNodeName(sx, tp, path) } else { - nodeList = (NodeRegion *)(tp->ti_client); + nodeList = (NodeRegion *)TiGetClientPTR(tp); } /* generate the node name from the label region and the path name */ diff --git a/sim/SimSelect.c b/sim/SimSelect.c index 41290dea..5f1c3eba 100644 --- a/sim/SimSelect.c +++ b/sim/SimSelect.c @@ -335,7 +335,7 @@ SimSelectFunc(tile, pHead) /* check to see if the node has already been extracted */ - if (tile->ti_client == (ClientData) 1) { + if (TiGetClientINT(tile) == 1) { return(0); } diff --git a/tiles/tile.h b/tiles/tile.h index 8e50ceeb..41ab18e5 100644 --- a/tiles/tile.h +++ b/tiles/tile.h @@ -241,7 +241,11 @@ extern Tile *TiSrPoint(Tile *, Plane *, Point *); /* See diagnostic subroutine version in tile.c */ #define TiSetBody(tp, b) ((tp)->ti_body = INT2CD((b))) #define TiGetClient(tp) ((tp)->ti_client) -#define TiSetClient(tp,b) ((tp)->ti_client = INT2CD((b))) +#define TiGetClientINT(tp) (CD2INT((tp)->ti_client)) +#define TiGetClientPTR(tp) (CD2PTR((tp)->ti_client)) +#define TiSetClient(tp,cd) ((tp)->ti_client = (cd)) +#define TiSetClientINT(tp,cd) ((tp)->ti_client = INT2CD((cd))) +#define TiSetClientPTR(tp,cd) ((tp)->ti_client = PTR2CD((cd))) Tile *TiAlloc(void); void TiFree(Tile *); diff --git a/utils/maxrect.c b/utils/maxrect.c index 86bd1a98..1082598f 100644 --- a/utils/maxrect.c +++ b/utils/maxrect.c @@ -47,7 +47,7 @@ genCanonicalMaxwidth(bbox, starttile, plane, mask) mrd->listdepth = 8; } if (mask == NULL) - mrd->match = starttile->ti_client; + mrd->match = TiGetClient(starttile); else mrd->match = CLIENTDEFAULT; @@ -104,7 +104,7 @@ FindMaxRects(tile, mrd) int s, entries; if (mrd->match != CLIENTDEFAULT) - if (tile->ti_client == mrd->match) + if (TiGetClient(tile) == mrd->match) return 0; entries = 0;