GCC14: warning: missing braces around initializer
GCC14 -Wall cleanup series [-Wmissing-braces]
This commit is contained in:
parent
3300f45a22
commit
967b41343b
|
|
@ -91,36 +91,36 @@ extern void CMWundoInit();
|
|||
|
||||
ColorBar colorBars[] =
|
||||
{
|
||||
"Red", CB_RED, STYLE_RED, {2000, 8000, 10000, 9000},
|
||||
{2000, 9500, 10000, 10500},
|
||||
"Green", CB_GREEN, STYLE_GREEN, {2000, 5000, 10000, 6000},
|
||||
{2000, 6500, 10000, 7500},
|
||||
"Blue", CB_BLUE, STYLE_BLUE, {2000, 2000, 10000, 3000},
|
||||
{2000, 3500, 10000, 4500},
|
||||
"Hue", CB_HUE, STYLE_YELLOW, {14000, 8000, 22000, 9000},
|
||||
{14000, 9500, 22000, 10500},
|
||||
"Saturation", CB_SAT, STYLE_GRAY, {14000, 5000, 22000, 6000},
|
||||
{14000, 6500, 22000, 7500},
|
||||
"Value", CB_VALUE, STYLE_BROWN1, {14000, 2000, 22000, 3000},
|
||||
{14000, 3500, 22000, 4500},
|
||||
0
|
||||
{"Red", CB_RED, STYLE_RED, {{ 2000, 8000}, {10000, 9000}},
|
||||
{{ 2000, 9500}, {10000, 10500}}},
|
||||
{"Green", CB_GREEN, STYLE_GREEN, {{ 2000, 5000}, {10000, 6000}},
|
||||
{{ 2000, 6500}, {10000, 7500}}},
|
||||
{"Blue", CB_BLUE, STYLE_BLUE, {{ 2000, 2000}, {10000, 3000}},
|
||||
{{ 2000, 3500}, {10000, 4500}}},
|
||||
{"Hue", CB_HUE, STYLE_YELLOW, {{14000, 8000}, {22000, 9000}},
|
||||
{{14000, 9500}, {22000, 10500}}},
|
||||
{"Saturation", CB_SAT, STYLE_GRAY, {{14000, 5000}, {22000, 6000}},
|
||||
{{14000, 6500}, {22000, 7500}}},
|
||||
{"Value", CB_VALUE, STYLE_BROWN1, {{14000, 2000}, {22000, 3000}},
|
||||
{{14000, 3500}, {22000, 4500}}},
|
||||
{0}
|
||||
};
|
||||
|
||||
ColorPump colorPumps[] =
|
||||
{
|
||||
CB_RED, -.0078, {500, 8000, 1500, 9000},
|
||||
CB_RED, .0078, {10500, 8000, 11500, 9000},
|
||||
CB_GREEN, -.0078, {500, 5000, 1500, 6000},
|
||||
CB_GREEN, .0078, {10500, 5000, 11500, 6000},
|
||||
CB_BLUE, -.0078, {500, 2000, 1500, 3000},
|
||||
CB_BLUE, .0078, {10500, 2000, 11500, 3000},
|
||||
CB_HUE, -.01, {12500, 8000, 13500, 9000},
|
||||
CB_HUE, .01, {22500, 8000, 23500, 9000},
|
||||
CB_SAT, -.01, {12500, 5000, 13500, 6000},
|
||||
CB_SAT, .01, {22500, 5000, 23500, 6000},
|
||||
CB_VALUE, -.01, {12500, 2000, 13500, 3000},
|
||||
CB_VALUE, .01, {22500, 2000, 23500, 3000},
|
||||
-1
|
||||
{CB_RED, -.0078, {{ 500, 8000}, { 1500, 9000}}},
|
||||
{CB_RED, .0078, {{10500, 8000}, {11500, 9000}}},
|
||||
{CB_GREEN, -.0078, {{ 500, 5000}, { 1500, 6000}}},
|
||||
{CB_GREEN, .0078, {{10500, 5000}, {11500, 6000}}},
|
||||
{CB_BLUE, -.0078, {{ 500, 2000}, { 1500, 3000}}},
|
||||
{CB_BLUE, .0078, {{10500, 2000}, {11500, 3000}}},
|
||||
{CB_HUE, -.01, {{12500, 8000}, {13500, 9000}}},
|
||||
{CB_HUE, .01, {{22500, 8000}, {23500, 9000}}},
|
||||
{CB_SAT, -.01, {{12500, 5000}, {13500, 6000}}},
|
||||
{CB_SAT, .01, {{22500, 5000}, {23500, 6000}}},
|
||||
{CB_VALUE, -.01, {{12500, 2000}, {13500, 3000}}},
|
||||
{CB_VALUE, .01, {{22500, 2000}, {23500, 3000}}},
|
||||
{-1}
|
||||
};
|
||||
|
||||
Rect cmwCurrentColorArea = {{6000, 12000}, {18000, 15000}};
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ cmdEditRedisplayFunc(w, area)
|
|||
MagWindow *w; /* Window containing edit cell. */
|
||||
Rect *area; /* Area to be redisplayed. */
|
||||
{
|
||||
static Rect origin = {-1, -1, 1, 1};
|
||||
static Rect origin = {{-1, -1}, {1, 1}};
|
||||
Rect tmp;
|
||||
DBWclientRec *crec = (DBWclientRec *) w->w_clientData;
|
||||
|
||||
|
|
|
|||
|
|
@ -817,7 +817,7 @@ CmdSelect(w, cmd)
|
|||
* multiples types are pointed to, consecutive
|
||||
* selections will cycle through them.
|
||||
*/
|
||||
static Rect lastArea = {-100, -100, -200, -200};
|
||||
static Rect lastArea = {{-100, -100}, {-200, -200}};
|
||||
/* Used to remember region around what was
|
||||
* pointed at in the last select command: a
|
||||
* new selection in this area causes the next
|
||||
|
|
|
|||
|
|
@ -399,13 +399,13 @@ CmdParseLayers(s, mask)
|
|||
}
|
||||
special[] =
|
||||
{
|
||||
"$", LN_DOLLAR,
|
||||
"*", LN_ALL,
|
||||
"errors", LN_ERRORS,
|
||||
"labels", LN_LABELS,
|
||||
"subcell", LN_CELL,
|
||||
"connect", LN_CONNECT,
|
||||
0,
|
||||
{"$", LN_DOLLAR},
|
||||
{"*", LN_ALL},
|
||||
{"errors", LN_ERRORS},
|
||||
{"labels", LN_LABELS},
|
||||
{"subcell", LN_CELL},
|
||||
{"connect", LN_CONNECT},
|
||||
{0},
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -70,28 +70,28 @@ TileTypeBitMask DBTechActiveLayerBits; /* Layers marked locked in the techfile *
|
|||
/* Table of default, builtin planes */
|
||||
DefaultPlane dbTechDefaultPlanes[] =
|
||||
{
|
||||
PL_ROUTER, "router",
|
||||
PL_DRC_ERROR, "designRuleError",
|
||||
PL_DRC_CHECK, "designRuleCheck",
|
||||
PL_M_HINT, "mhint",
|
||||
PL_F_HINT, "fhint",
|
||||
PL_R_HINT, "rhint",
|
||||
0, 0, 0
|
||||
{PL_ROUTER, "router"},
|
||||
{PL_DRC_ERROR, "designRuleError"},
|
||||
{PL_DRC_CHECK, "designRuleCheck"},
|
||||
{PL_M_HINT, "mhint"},
|
||||
{PL_F_HINT, "fhint"},
|
||||
{PL_R_HINT, "rhint"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
/* Table of default, builtin types */
|
||||
DefaultType dbTechDefaultTypes[] =
|
||||
{
|
||||
TT_SPACE, -1, "space", FALSE,
|
||||
TT_CHECKPAINT, PL_DRC_CHECK, "checkpaint,CP", FALSE,
|
||||
TT_CHECKSUBCELL, PL_DRC_CHECK, "checksubcell,CS", FALSE,
|
||||
TT_ERROR_P, PL_DRC_ERROR, "error_p,EP", FALSE,
|
||||
TT_ERROR_S, PL_DRC_ERROR, "error_s,ES", FALSE,
|
||||
TT_ERROR_PS, PL_DRC_ERROR, "error_ps,EPS", FALSE,
|
||||
TT_MAGNET, PL_M_HINT, "magnet,mag", TRUE,
|
||||
TT_FENCE, PL_F_HINT, "fence,f", TRUE,
|
||||
TT_ROTATE, PL_R_HINT, "rotate,r", TRUE,
|
||||
0, 0, NULL, 0
|
||||
{TT_SPACE, -1, "space", FALSE},
|
||||
{TT_CHECKPAINT, PL_DRC_CHECK, "checkpaint,CP", FALSE},
|
||||
{TT_CHECKSUBCELL, PL_DRC_CHECK, "checksubcell,CS", FALSE},
|
||||
{TT_ERROR_P, PL_DRC_ERROR, "error_p,EP", FALSE},
|
||||
{TT_ERROR_S, PL_DRC_ERROR, "error_s,ES", FALSE},
|
||||
{TT_ERROR_PS, PL_DRC_ERROR, "error_ps,EPS", FALSE},
|
||||
{TT_MAGNET, PL_M_HINT, "magnet,mag", TRUE},
|
||||
{TT_FENCE, PL_F_HINT, "fence,f", TRUE},
|
||||
{TT_ROTATE, PL_R_HINT, "rotate,r", TRUE},
|
||||
{0, 0, NULL, 0}
|
||||
};
|
||||
|
||||
/* Forward declarations */
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ dbwUndoChangeEdit(ep)
|
|||
Rect area;
|
||||
CellUse *use;
|
||||
CellDef *editDef, *parent;
|
||||
static Rect origin = {-1, -1, 1, 1};
|
||||
static Rect origin = {{-1, -1}, {1, 1}};
|
||||
|
||||
/* Redisplay the old edit cell */
|
||||
GeoTransRect(&EditToRootTransform, &(EditCellUse->cu_def->cd_bbox), &area);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ extern int drcArrayYankFunc(), drcArrayOverlapFunc();
|
|||
|
||||
static DRCCookie drcArrayCookie = {
|
||||
0, 0, 0, 0,
|
||||
{ 0 }, { 0 },
|
||||
{ {0} }, { {0} },
|
||||
0, 0, 0,
|
||||
DRC_ARRAY_OVERLAP_TAG,
|
||||
(DRCCookie *) NULL
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ int dbDRCDebug = 0;
|
|||
|
||||
static DRCCookie drcOverlapCookie = {
|
||||
0, 0, 0, 0,
|
||||
{ 0 }, { 0 },
|
||||
{ {0} }, { {0} },
|
||||
0, 0, 0,
|
||||
DRC_OVERLAP_TAG,
|
||||
(DRCCookie *) NULL
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ static ClientData drcSubClientData;
|
|||
|
||||
static DRCCookie drcSubcellCookie = {
|
||||
0, 0, 0, 0,
|
||||
{ 0 }, { 0 },
|
||||
{ {0} }, { {0} },
|
||||
0, 0, 0,
|
||||
DRC_SUBCELL_OVERLAP_TAG,
|
||||
(DRCCookie *) NULL
|
||||
|
|
@ -68,7 +68,7 @@ static DRCCookie drcSubcellCookie = {
|
|||
|
||||
static DRCCookie drcInSubCookie = {
|
||||
0, 0, 0, 0,
|
||||
{ 0 }, { 0 },
|
||||
{ {0} }, { {0} },
|
||||
0, 0, 0,
|
||||
DRC_IN_SUBCELL_TAG,
|
||||
(DRCCookie *) NULL
|
||||
|
|
@ -82,7 +82,7 @@ static DRCCookie drcInSubCookie = {
|
|||
|
||||
static DRCCookie drcOffGridCookie = {
|
||||
0, 0, 0, 0,
|
||||
{ 0 }, { 0 },
|
||||
{ {0} }, { {0} },
|
||||
0, 0, 0,
|
||||
DRC_OFFGRID_TAG,
|
||||
(DRCCookie *) NULL
|
||||
|
|
|
|||
|
|
@ -826,7 +826,7 @@ DRCTechLine(sectionName, argc, argv)
|
|||
|
||||
if (DRCStyleList == NULL)
|
||||
{
|
||||
char *locargv[2][10] = {"style", "default"};
|
||||
char *locargv[2][10] = {{"style"}, {"default"}};
|
||||
|
||||
if (DRCTechLine(sectionName, 2, locargv) == FALSE)
|
||||
return FALSE;
|
||||
|
|
@ -1022,53 +1022,53 @@ DRCTechAddRule(sectionName, argc, argv)
|
|||
int (*rk_proc)(); /* Procedure implementing this keyword */
|
||||
char *rk_err; /* Error message */
|
||||
} ruleKeys[] = {
|
||||
"angles", 4, 4, drcAngles,
|
||||
"layers 45|90 why",
|
||||
"edge", 8, 9, drcEdge,
|
||||
"layers1 layers2 distance okTypes cornerTypes cornerDistance why [plane]",
|
||||
"edge4way", 8, 9, drcEdge,
|
||||
"layers1 layers2 distance okTypes cornerTypes cornerDistance why [plane]",
|
||||
"exact_overlap", 2, 2, drcExactOverlap,
|
||||
"layers",
|
||||
"extend", 5, 6, drcExtend,
|
||||
"layers1 layers2 distance [option] why",
|
||||
"no_overlap", 3, 3, drcNoOverlap,
|
||||
"layers1 layers2",
|
||||
"option", 2, 2, drcOption,
|
||||
"option_name option_value",
|
||||
"overhang", 5, 5, drcOverhang,
|
||||
"layers1 layers2 distance why",
|
||||
"rect_only", 3, 3, drcRectOnly,
|
||||
"layers why",
|
||||
"spacing", 6, 7, drcSpacing,
|
||||
"layers1 layers2 separation [layers3] adjacency why",
|
||||
"stepsize", 2, 2, drcStepSize,
|
||||
"step_size",
|
||||
"surround", 6, 7, drcSurround,
|
||||
"layers1 layers2 distance presence why",
|
||||
"width", 4, 5, drcWidth,
|
||||
"layers width why",
|
||||
"widespacing", 7, 8, drcSpacing,
|
||||
"layers1 width layers2 separation adjacency why",
|
||||
"area", 5, 5, drcArea,
|
||||
"layers area horizon why",
|
||||
"off_grid", 4, 4, drcOffGrid,
|
||||
"layers pitch why",
|
||||
"maxwidth", 4, 5, drcMaxwidth,
|
||||
"layers maxwidth bends why",
|
||||
"cifstyle", 2, 2, drcCifSetStyle,
|
||||
"cif_style",
|
||||
"cifwidth", 4, 4, drcCifWidth,
|
||||
"layers width why",
|
||||
"cifspacing", 6, 6, drcCifSpacing,
|
||||
"layers1 layers2 separation adjacency why",
|
||||
"cifarea", 5, 5, drcCifArea,
|
||||
"layers area horizon why",
|
||||
"cifmaxwidth", 5, 5, drcCifMaxwidth,
|
||||
"layers maxwidth bends why",
|
||||
"rectangle", 5, 5, drcRectangle,
|
||||
"layers maxwidth [even|odd|any] why",
|
||||
0
|
||||
{"angles", 4, 4, drcAngles,
|
||||
"layers 45|90 why"},
|
||||
{"edge", 8, 9, drcEdge,
|
||||
"layers1 layers2 distance okTypes cornerTypes cornerDistance why [plane]"},
|
||||
{"edge4way", 8, 9, drcEdge,
|
||||
"layers1 layers2 distance okTypes cornerTypes cornerDistance why [plane]"},
|
||||
{"exact_overlap", 2, 2, drcExactOverlap,
|
||||
"layers"},
|
||||
{"extend", 5, 6, drcExtend,
|
||||
"layers1 layers2 distance [option] why"},
|
||||
{"no_overlap", 3, 3, drcNoOverlap,
|
||||
"layers1 layers2"},
|
||||
{"option", 2, 2, drcOption,
|
||||
"option_name option_value"},
|
||||
{"overhang", 5, 5, drcOverhang,
|
||||
"layers1 layers2 distance why"},
|
||||
{"rect_only", 3, 3, drcRectOnly,
|
||||
"layers why"},
|
||||
{"spacing", 6, 7, drcSpacing,
|
||||
"layers1 layers2 separation [layers3] adjacency why"},
|
||||
{"stepsize", 2, 2, drcStepSize,
|
||||
"step_size"},
|
||||
{"surround", 6, 7, drcSurround,
|
||||
"layers1 layers2 distance presence why"},
|
||||
{"width", 4, 5, drcWidth,
|
||||
"layers width why"},
|
||||
{"widespacing", 7, 8, drcSpacing,
|
||||
"layers1 width layers2 separation adjacency why"},
|
||||
{"area", 5, 5, drcArea,
|
||||
"layers area horizon why"},
|
||||
{"off_grid", 4, 4, drcOffGrid,
|
||||
"layers pitch why"},
|
||||
{"maxwidth", 4, 5, drcMaxwidth,
|
||||
"layers maxwidth bends why"},
|
||||
{"cifstyle", 2, 2, drcCifSetStyle,
|
||||
"cif_style"},
|
||||
{"cifwidth", 4, 4, drcCifWidth,
|
||||
"layers width why"},
|
||||
{"cifspacing", 6, 6, drcCifSpacing,
|
||||
"layers1 layers2 separation adjacency why"},
|
||||
{"cifarea", 5, 5, drcCifArea,
|
||||
"layers area horizon why"},
|
||||
{"cifmaxwidth", 5, 5, drcCifMaxwidth,
|
||||
"layers maxwidth bends why"},
|
||||
{"rectangle", 5, 5, drcRectangle,
|
||||
"layers maxwidth [even|odd|any] why"},
|
||||
{0}
|
||||
}, *rp;
|
||||
|
||||
drcRulesSpecified += 1;
|
||||
|
|
|
|||
|
|
@ -71,32 +71,32 @@ static struct
|
|||
}
|
||||
keyTable[] =
|
||||
{
|
||||
"abstract", ABSTRACT, 0, /* defines a LEF-like view */
|
||||
"adjust", ADJUST, 4,
|
||||
"attr", ATTR, 8,
|
||||
"cap", CAP, 4,
|
||||
"device", DEVICE, 11, /* effectively replaces "fet" */
|
||||
"distance", DIST, 4,
|
||||
"equiv", EQUIV, 3,
|
||||
"fet", FET, 12, /* for backwards compatibility */
|
||||
"killnode", KILLNODE, 2,
|
||||
"merge", MERGE, 3,
|
||||
"node", NODE, 7,
|
||||
"parameters", PARAMETERS, 3,
|
||||
"port", PORT, 8,
|
||||
"primitive", PRIMITIVE, 0, /* defines a primitive device */
|
||||
"resist", RESISTOR, 4,
|
||||
"resistclasses", RESISTCLASS, 1,
|
||||
"rnode", RNODE, 5,
|
||||
"scale", SCALE, 4,
|
||||
"subcap", SUBCAP, 3,
|
||||
"substrate", SUBSTRATE, 3,
|
||||
"tech", TECH, 2,
|
||||
"timestamp", TIMESTAMP, 2,
|
||||
"use", USE, 9,
|
||||
"version", VERSION, 2,
|
||||
"style", EXT_STYLE, 2,
|
||||
0
|
||||
{"abstract", ABSTRACT, 0}, /* defines a LEF-like view */
|
||||
{"adjust", ADJUST, 4},
|
||||
{"attr", ATTR, 8},
|
||||
{"cap", CAP, 4},
|
||||
{"device", DEVICE, 11}, /* effectively replaces "fet" */
|
||||
{"distance", DIST, 4},
|
||||
{"equiv", EQUIV, 3},
|
||||
{"fet", FET, 12}, /* for backwards compatibility */
|
||||
{"killnode", KILLNODE, 2},
|
||||
{"merge", MERGE, 3},
|
||||
{"node", NODE, 7},
|
||||
{"parameters", PARAMETERS, 3},
|
||||
{"port", PORT, 8},
|
||||
{"primitive", PRIMITIVE, 0}, /* defines a primitive device */
|
||||
{"resist", RESISTOR, 4},
|
||||
{"resistclasses", RESISTCLASS, 1},
|
||||
{"rnode", RNODE, 5},
|
||||
{"scale", SCALE, 4},
|
||||
{"subcap", SUBCAP, 3},
|
||||
{"substrate", SUBSTRATE, 3},
|
||||
{"tech", TECH, 2},
|
||||
{"timestamp", TIMESTAMP, 2},
|
||||
{"use", USE, 9},
|
||||
{"version", VERSION, 2},
|
||||
{"style", EXT_STYLE, 2},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Data shared with EFerror.c */
|
||||
|
|
|
|||
|
|
@ -137,23 +137,23 @@ ExtInit()
|
|||
char *di_name;
|
||||
int *di_id;
|
||||
} debugFlags[] = {
|
||||
"areaenum", &extDebAreaEnum,
|
||||
"array", &extDebArray,
|
||||
"hardway", &extDebHardWay,
|
||||
"hiercap", &extDebHierCap,
|
||||
"hierareacap", &extDebHierAreaCap,
|
||||
"label", &extDebLabel,
|
||||
"length", &extDebLength,
|
||||
"neighbor", &extDebNeighbor,
|
||||
"noarray", &extDebNoArray,
|
||||
"nofeedback", &extDebNoFeedback,
|
||||
"nohard", &extDebNoHard,
|
||||
"nosubcell", &extDebNoSubcell,
|
||||
"perimeter", &extDebPerim,
|
||||
"resist", &extDebResist,
|
||||
"visonly", &extDebVisOnly,
|
||||
"yank", &extDebYank,
|
||||
0
|
||||
{"areaenum", &extDebAreaEnum},
|
||||
{"array", &extDebArray},
|
||||
{"hardway", &extDebHardWay},
|
||||
{"hiercap", &extDebHierCap},
|
||||
{"hierareacap", &extDebHierAreaCap},
|
||||
{"label", &extDebLabel},
|
||||
{"length", &extDebLength},
|
||||
{"neighbor", &extDebNeighbor},
|
||||
{"noarray", &extDebNoArray},
|
||||
{"nofeedback", &extDebNoFeedback},
|
||||
{"nohard", &extDebNoHard},
|
||||
{"nosubcell", &extDebNoSubcell},
|
||||
{"perimeter", &extDebPerim},
|
||||
{"resist", &extDebResist},
|
||||
{"visonly", &extDebVisOnly},
|
||||
{"yank", &extDebYank},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Register ourselves with the debugging module */
|
||||
|
|
|
|||
|
|
@ -96,99 +96,99 @@ typedef struct
|
|||
} keydesc;
|
||||
|
||||
static keydesc keyTable[] = {
|
||||
"areacap", AREAC, 3, 3,
|
||||
"types capacitance",
|
||||
{"areacap", AREAC, 3, 3,
|
||||
"types capacitance"},
|
||||
|
||||
"contact", CONTACT, 3, 6,
|
||||
"type resistance",
|
||||
{"contact", CONTACT, 3, 6,
|
||||
"type resistance"},
|
||||
|
||||
"cscale", CSCALE, 2, 2,
|
||||
"capacitance-scalefactor",
|
||||
{"cscale", CSCALE, 2, 2,
|
||||
"capacitance-scalefactor"},
|
||||
|
||||
"defaultareacap", DEFAULTAREACAP, 4, 6,
|
||||
"types plane capacitance",
|
||||
{"defaultareacap", DEFAULTAREACAP, 4, 6,
|
||||
"types plane capacitance"},
|
||||
|
||||
"defaultoverlap", DEFAULTOVERLAP, 6, 6,
|
||||
"types plane otertypes otherplane capacitance",
|
||||
{"defaultoverlap", DEFAULTOVERLAP, 6, 6,
|
||||
"types plane otertypes otherplane capacitance"},
|
||||
|
||||
"defaultperimeter", DEFAULTPERIMETER, 4, 6,
|
||||
"types plane capacitance",
|
||||
{"defaultperimeter", DEFAULTPERIMETER, 4, 6,
|
||||
"types plane capacitance"},
|
||||
|
||||
"defaultsideoverlap", DEFAULTSIDEOVERLAP, 6, 6,
|
||||
"types plane othertypes otherplane capacitance",
|
||||
{"defaultsideoverlap", DEFAULTSIDEOVERLAP, 6, 6,
|
||||
"types plane othertypes otherplane capacitance"},
|
||||
|
||||
"defaultsidewall", DEFAULTSIDEWALL, 4, 5,
|
||||
"types plane capacitance [offset]",
|
||||
{"defaultsidewall", DEFAULTSIDEWALL, 4, 5,
|
||||
"types plane capacitance [offset]"},
|
||||
|
||||
"device", DEVICE, 4, 10,
|
||||
"device dev-type types options...",
|
||||
{"device", DEVICE, 4, 10,
|
||||
"device dev-type types options..."},
|
||||
|
||||
"fet", FET, 8, 9,
|
||||
"types terminal-types min-#-terminals name [subs-types] subs-node gscap gate-chan-cap",
|
||||
{"fet", FET, 8, 9,
|
||||
"types terminal-types min-#-terminals name [subs-types] subs-node gscap gate-chan-cap"},
|
||||
|
||||
"fetresist", FETRESIST, 4, 4,
|
||||
"type region ohms-per-square",
|
||||
{"fetresist", FETRESIST, 4, 4,
|
||||
"type region ohms-per-square"},
|
||||
|
||||
"fringeshieldhalo", FRINGESHIELDHALO, 2, 2,
|
||||
"distance",
|
||||
{"fringeshieldhalo", FRINGESHIELDHALO, 2, 2,
|
||||
"distance"},
|
||||
|
||||
"height", HEIGHT, 4, 4,
|
||||
"type height-above-subtrate thickness",
|
||||
{"height", HEIGHT, 4, 4,
|
||||
"type height-above-subtrate thickness"},
|
||||
|
||||
"antenna", ANTENNA, 4, 6,
|
||||
"type [calc-type] [antenna-ratio-proportional] antenna-ratio-const",
|
||||
{"antenna", ANTENNA, 4, 6,
|
||||
"type [calc-type] [antenna-ratio-proportional] antenna-ratio-const"},
|
||||
|
||||
"model", MODEL, 2, 3,
|
||||
"partial-cumulative [area-sidewall]",
|
||||
{"model", MODEL, 2, 3,
|
||||
"partial-cumulative [area-sidewall]"},
|
||||
|
||||
"tiedown", TIEDOWN, 2, 2,
|
||||
"types",
|
||||
{"tiedown", TIEDOWN, 2, 2,
|
||||
"types"},
|
||||
|
||||
"lambda", LAMBDA, 2, 2,
|
||||
"units-per-lambda",
|
||||
{"lambda", LAMBDA, 2, 2,
|
||||
"units-per-lambda"},
|
||||
|
||||
"overlap", OVERC, 4, 5,
|
||||
"toptypes bottomtypes capacitance [shieldtypes]",
|
||||
{"overlap", OVERC, 4, 5,
|
||||
"toptypes bottomtypes capacitance [shieldtypes]"},
|
||||
|
||||
"perimc", PERIMC, 4, 4,
|
||||
"intypes outtypes capacitance",
|
||||
{"perimc", PERIMC, 4, 4,
|
||||
"intypes outtypes capacitance"},
|
||||
|
||||
"planeorder", PLANEORDER, 3, 3,
|
||||
"plane index",
|
||||
"noplaneordering", NOPLANEORDER, 1, 1,
|
||||
"(no arguments needed)",
|
||||
{"planeorder", PLANEORDER, 3, 3,
|
||||
"plane index"},
|
||||
{"noplaneordering", NOPLANEORDER, 1, 1,
|
||||
"(no arguments needed)"},
|
||||
|
||||
"resist", RESIST, 3, 4,
|
||||
"types resistance",
|
||||
{"resist", RESIST, 3, 4,
|
||||
"types resistance"},
|
||||
|
||||
"rscale", RSCALE, 2, 2,
|
||||
"resistance-scalefactor",
|
||||
{"rscale", RSCALE, 2, 2,
|
||||
"resistance-scalefactor"},
|
||||
|
||||
"sidehalo", SIDEHALO, 2, 2,
|
||||
"distance",
|
||||
{"sidehalo", SIDEHALO, 2, 2,
|
||||
"distance"},
|
||||
|
||||
"sideoverlap", SIDEOVERLAP, 5, 6,
|
||||
"intypes outtypes ovtypes capacitance [shieldtypes]",
|
||||
{"sideoverlap", SIDEOVERLAP, 5, 6,
|
||||
"intypes outtypes ovtypes capacitance [shieldtypes]"},
|
||||
|
||||
"sidewall", SIDEWALL, 6, 7,
|
||||
"intypes outtypes neartypes fartypes capacitance [offset]",
|
||||
{"sidewall", SIDEWALL, 6, 7,
|
||||
"intypes outtypes neartypes fartypes capacitance [offset]"},
|
||||
|
||||
"step", STEP, 2, 2,
|
||||
"size",
|
||||
{"step", STEP, 2, 2,
|
||||
"size"},
|
||||
|
||||
"style", STYLE, 2, 4,
|
||||
"stylename",
|
||||
{"style", STYLE, 2, 4,
|
||||
"stylename"},
|
||||
|
||||
"substrate", SUBSTRATE, 3, 5,
|
||||
"types plane [subs-node]",
|
||||
{"substrate", SUBSTRATE, 3, 5,
|
||||
"types plane [subs-node]"},
|
||||
|
||||
"units", UNITS, 2, 2,
|
||||
"lambda|microns",
|
||||
{"units", UNITS, 2, 2,
|
||||
"lambda|microns"},
|
||||
|
||||
"variants", VARIANT, 2, 2,
|
||||
"style,...",
|
||||
{"variants", VARIANT, 2, 2,
|
||||
"style,..."},
|
||||
|
||||
0
|
||||
{0}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -202,43 +202,43 @@ static keydesc keyTable[] = {
|
|||
/* types are enumerated in extract.h */
|
||||
|
||||
static keydesc devTable[] = {
|
||||
"mosfet", DEV_MOSFET, 5, 10,
|
||||
"name gate-types src-types [drn-types] sub-types|None sub-node [gscap gccap]",
|
||||
{"mosfet", DEV_MOSFET, 5, 10,
|
||||
"name gate-types src-types [drn-types] sub-types|None sub-node [gscap gccap]"},
|
||||
|
||||
"bjt", DEV_BJT, 5, 5,
|
||||
"name base-types emitter-types collector-types",
|
||||
{"bjt", DEV_BJT, 5, 5,
|
||||
"name base-types emitter-types collector-types"},
|
||||
|
||||
"capacitor", DEV_CAP, 4, 8,
|
||||
"name top-types bottom-types [sub-types|None sub-node] [[perimcap] areacap]",
|
||||
{"capacitor", DEV_CAP, 4, 8,
|
||||
"name top-types bottom-types [sub-types|None sub-node] [[perimcap] areacap]"},
|
||||
|
||||
"capreverse", DEV_CAPREV, 4, 8,
|
||||
"name bottom-types top-types [sub-types|None sub-node] [[perimcap] areacap]",
|
||||
{"capreverse", DEV_CAPREV, 4, 8,
|
||||
"name bottom-types top-types [sub-types|None sub-node] [[perimcap] areacap]"},
|
||||
|
||||
"resistor", DEV_RES, 4, 6,
|
||||
"name|None res-types terminal-types [sub-types|None sub-node]",
|
||||
{"resistor", DEV_RES, 4, 6,
|
||||
"name|None res-types terminal-types [sub-types|None sub-node]"},
|
||||
|
||||
"diode", DEV_DIODE, 4, 6,
|
||||
"name pos-types neg-types [sub-types|None sub-node]",
|
||||
{"diode", DEV_DIODE, 4, 6,
|
||||
"name pos-types neg-types [sub-types|None sub-node]"},
|
||||
|
||||
"pdiode", DEV_PDIODE, 4, 6,
|
||||
"name pos-types neg-types [sub-types|None sub-node]",
|
||||
{"pdiode", DEV_PDIODE, 4, 6,
|
||||
"name pos-types neg-types [sub-types|None sub-node]"},
|
||||
|
||||
"ndiode", DEV_NDIODE, 4, 6,
|
||||
"name neg-types pos-types [sub-types|None sub-node]",
|
||||
{"ndiode", DEV_NDIODE, 4, 6,
|
||||
"name neg-types pos-types [sub-types|None sub-node]"},
|
||||
|
||||
"subcircuit", DEV_SUBCKT, 3, 11,
|
||||
"name dev-types [N] [term1-types ... termN-types [sub-types|None sub-node]] [options]",
|
||||
{"subcircuit", DEV_SUBCKT, 3, 11,
|
||||
"name dev-types [N] [term1-types ... termN-types [sub-types|None sub-node]] [options]"},
|
||||
|
||||
"rsubcircuit", DEV_RSUBCKT, 4, 7,
|
||||
"name dev-types terminal-types [sub-types|None sub-node] [options]",
|
||||
{"rsubcircuit", DEV_RSUBCKT, 4, 7,
|
||||
"name dev-types terminal-types [sub-types|None sub-node] [options]"},
|
||||
|
||||
"msubcircuit", DEV_MSUBCKT, 3, 11,
|
||||
"name dev-types [N] [term1-types ... termN-types [sub-types|None sub-node]] [options]",
|
||||
{"msubcircuit", DEV_MSUBCKT, 3, 11,
|
||||
"name dev-types [N] [term1-types ... termN-types [sub-types|None sub-node]] [options]"},
|
||||
|
||||
"csubcircuit", DEV_CSUBCKT, 4, 7,
|
||||
"name dev-types terminal-types [sub-types|None sub-node] [options]",
|
||||
{"csubcircuit", DEV_CSUBCKT, 4, 7,
|
||||
"name dev-types terminal-types [sub-types|None sub-node] [options]"},
|
||||
|
||||
0
|
||||
{0}
|
||||
};
|
||||
|
||||
#ifdef MAGIC_WRAPPER
|
||||
|
|
|
|||
|
|
@ -128,22 +128,22 @@ ExtractTest(w, cmd)
|
|||
char *cmd_name;
|
||||
cmdType cmd_val;
|
||||
} cmds[] = {
|
||||
"clrdebug", CLRDEBUG,
|
||||
"clrlength", CLRLENGTH,
|
||||
"driver", DRIVER,
|
||||
"dump", DUMP,
|
||||
"interactions", INTERACTIONS,
|
||||
"intercount", INTERCOUNT,
|
||||
"parents", EXTPARENTS,
|
||||
"receiver", RECEIVER,
|
||||
"setdebug", SETDEBUG,
|
||||
"showdebug", SHOWDEBUG,
|
||||
"showparents", SHOWPARENTS,
|
||||
"showtech", SHOWTECH,
|
||||
"stats", STATS,
|
||||
"step", STEP,
|
||||
"times", TIME,
|
||||
0
|
||||
{"clrdebug", CLRDEBUG},
|
||||
{"clrlength", CLRLENGTH},
|
||||
{"driver", DRIVER},
|
||||
{"dump", DUMP},
|
||||
{"interactions", INTERACTIONS},
|
||||
{"intercount", INTERCOUNT},
|
||||
{"parents", EXTPARENTS},
|
||||
{"receiver", RECEIVER},
|
||||
{"setdebug", SETDEBUG},
|
||||
{"showdebug", SHOWDEBUG},
|
||||
{"showparents", SHOWPARENTS},
|
||||
{"showtech", SHOWTECH},
|
||||
{"stats", STATS},
|
||||
{"step", STEP},
|
||||
{"times", TIME},
|
||||
{0}
|
||||
};
|
||||
|
||||
if (cmd->tx_argc == 1)
|
||||
|
|
|
|||
|
|
@ -98,10 +98,10 @@ GATest(w, cmd)
|
|||
char *cmd_name;
|
||||
cmdType cmd_val;
|
||||
} cmds[] = {
|
||||
"clrdebug", CLRDEBUG,
|
||||
"setdebug", SETDEBUG,
|
||||
"showdebug", SHOWDEBUG,
|
||||
0
|
||||
{"clrdebug", CLRDEBUG},
|
||||
{"setdebug", SETDEBUG},
|
||||
{"showdebug", SHOWDEBUG},
|
||||
{0}
|
||||
};
|
||||
|
||||
GAInit();
|
||||
|
|
@ -388,17 +388,17 @@ GAInit()
|
|||
char *di_name;
|
||||
int *di_id;
|
||||
} dflags[] = {
|
||||
"chanonly", &gaDebChanOnly,
|
||||
"chanstats", &gaDebChanStats,
|
||||
"maze", &gaDebMaze,
|
||||
"nosimple", &gaDebNoSimple,
|
||||
"paintstems", &gaDebPaintStems,
|
||||
"showchans", &gaDebShowChans,
|
||||
"showmaze", &gaDebShowMaze,
|
||||
"stems", &gaDebStems,
|
||||
"verbose", &gaDebVerbose,
|
||||
"noclean", &gaDebNoClean,
|
||||
0
|
||||
{"chanonly", &gaDebChanOnly},
|
||||
{"chanstats", &gaDebChanStats},
|
||||
{"maze", &gaDebMaze},
|
||||
{"nosimple", &gaDebNoSimple},
|
||||
{"paintstems", &gaDebPaintStems},
|
||||
{"showchans", &gaDebShowChans},
|
||||
{"showmaze", &gaDebShowMaze},
|
||||
{"stems", &gaDebStems},
|
||||
{"verbose", &gaDebVerbose},
|
||||
{"noclean", &gaDebNoClean},
|
||||
{0}
|
||||
};
|
||||
|
||||
if (gaInitialized)
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ extern void GrClipTriangle();
|
|||
* lintpick happy!
|
||||
*/
|
||||
|
||||
global Rect GrCrossRect = {-GR_CROSSSIZE, -GR_CROSSSIZE, GR_CROSSSIZE, GR_CROSSSIZE};
|
||||
global Rect GrCrossRect = {{-GR_CROSSSIZE, -GR_CROSSSIZE}, {GR_CROSSSIZE, GR_CROSSSIZE}};
|
||||
global int GrNumClipBoxes = 0; /* for benchmarking */
|
||||
global int grCurDStyle;
|
||||
global unsigned char GrGridMultiple = 1;
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ global int GrPixelCorrect = 1;
|
|||
/* The following rectangle is describes the display area and is available
|
||||
* to the user of this module.
|
||||
*/
|
||||
global Rect GrScreenRect = {0, 0, 0, 0};
|
||||
global Rect GrScreenRect = {{0, 0}, {0, 0}};
|
||||
|
||||
/*
|
||||
* Interrupt status for the timer. In TCL, this is used for graphics
|
||||
|
|
|
|||
|
|
@ -124,12 +124,12 @@ GlTest(w, cmd)
|
|||
char *cmd_name;
|
||||
cmdType cmd_val;
|
||||
} cmds[] = {
|
||||
"clrdebug", CLRDEBUG,
|
||||
"onlynet", ONLYNET,
|
||||
"setdebug", SETDEBUG,
|
||||
"showdebug", SHOWDEBUG,
|
||||
"sides", SIDES,
|
||||
0
|
||||
{"clrdebug", CLRDEBUG},
|
||||
{"onlynet", ONLYNET},
|
||||
{"setdebug", SETDEBUG},
|
||||
{"showdebug", SHOWDEBUG},
|
||||
{"sides", SIDES},
|
||||
{0}
|
||||
};
|
||||
|
||||
if (!glInitialized)
|
||||
|
|
@ -262,24 +262,24 @@ GlInit()
|
|||
char *di_name;
|
||||
int *di_id;
|
||||
} dflags[] = {
|
||||
"allpoints", &glDebAllPoints,
|
||||
"chan", &glDebChan,
|
||||
"cross", &glDebCross,
|
||||
"fast", &glDebFast,
|
||||
"heap", &glDebHeap,
|
||||
"histo", &glDebHisto,
|
||||
"log", &glDebLog,
|
||||
"greedy", &glDebGreedy,
|
||||
"maze", &glDebMaze,
|
||||
"net", &glDebNet,
|
||||
"newheaps", &glDebNewHeaps,
|
||||
"penalties", &glDebPen,
|
||||
"showpins", &glDebShowPins,
|
||||
"stemsonly", &glDebStemsOnly,
|
||||
"straight", &glDebStraight,
|
||||
"tiles", &glDebTiles,
|
||||
"verbose", &glDebVerbose,
|
||||
0
|
||||
{"allpoints", &glDebAllPoints},
|
||||
{"chan", &glDebChan},
|
||||
{"cross", &glDebCross},
|
||||
{"fast", &glDebFast},
|
||||
{"heap", &glDebHeap},
|
||||
{"histo", &glDebHisto},
|
||||
{"log", &glDebLog},
|
||||
{"greedy", &glDebGreedy},
|
||||
{"maze", &glDebMaze},
|
||||
{"net", &glDebNet},
|
||||
{"newheaps", &glDebNewHeaps},
|
||||
{"penalties", &glDebPen},
|
||||
{"showpins", &glDebShowPins},
|
||||
{"stemsonly", &glDebStemsOnly},
|
||||
{"straight", &glDebStraight},
|
||||
{"tiles", &glDebTiles},
|
||||
{"verbose", &glDebVerbose},
|
||||
{0}
|
||||
};
|
||||
|
||||
if (glInitialized)
|
||||
|
|
|
|||
|
|
@ -110,8 +110,8 @@ irSetNoisyAutoInt(parm, valueS, file)
|
|||
char *sv_name; /* name */
|
||||
int sv_type;
|
||||
} specialValues[] = {
|
||||
"automatic", V_AUTOMATIC,
|
||||
0
|
||||
{"automatic", V_AUTOMATIC},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* If value non-null set parm */
|
||||
|
|
@ -679,9 +679,9 @@ FILE *file;
|
|||
char *sp_name; /* name */
|
||||
int sp_type;
|
||||
} specialArgs[] = {
|
||||
"command", SP_COMMAND,
|
||||
".", SP_DOT,
|
||||
0
|
||||
{"command", SP_COMMAND},
|
||||
{".", SP_DOT},
|
||||
{0}
|
||||
};
|
||||
|
||||
if(s!=NULL)
|
||||
|
|
@ -785,11 +785,11 @@ static struct
|
|||
void (*cP_proc)(); /* Procedure processing this parameter */
|
||||
#endif
|
||||
} cParms[] = {
|
||||
"active", irCSetActive,
|
||||
"width", irCSetWidth,
|
||||
"length", irCSetLength,
|
||||
"cost", irCSetCost,
|
||||
0
|
||||
{"active", irCSetActive},
|
||||
{"width", irCSetWidth},
|
||||
{"length", irCSetLength},
|
||||
{"cost", irCSetCost},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* NEXTVALUE - returns pointer to next value arg (string). */
|
||||
|
|
@ -1154,15 +1154,15 @@ static struct
|
|||
void (*lP_proc)(); /* procedure processing this parameter */
|
||||
#endif
|
||||
} lParms[] = {
|
||||
"active", irLSetActive,
|
||||
"width", irLSetWidth,
|
||||
"length", irLSetLength,
|
||||
"hCost", irLSetHCost,
|
||||
"vCost", irLSetVCost,
|
||||
"jogCost", irLSetJogCost,
|
||||
"hintCost", irLSetHintCost,
|
||||
"overCost", irLSetOverCost,
|
||||
0
|
||||
{"active", irLSetActive},
|
||||
{"width", irLSetWidth},
|
||||
{"length", irLSetLength},
|
||||
{"hCost", irLSetHCost},
|
||||
{"vCost", irLSetVCost},
|
||||
{"jogCost", irLSetJogCost},
|
||||
{"hintCost", irLSetHintCost},
|
||||
{"overCost", irLSetOverCost},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* NEXTVALUE - returns pointer to next value arg (string). */
|
||||
|
|
@ -1747,9 +1747,9 @@ static struct
|
|||
char *srP_name; /* name of parameter */
|
||||
void (*srP_proc)(); /* Procedure processing this parameter */
|
||||
} srParms[] = {
|
||||
"rate", irSrSetRate,
|
||||
"width", irSrSetWidth,
|
||||
0
|
||||
{"rate", irSrSetRate},
|
||||
{"width", irSrSetWidth},
|
||||
{0}
|
||||
};
|
||||
|
||||
void
|
||||
|
|
@ -1868,11 +1868,11 @@ irSpacingsCmd(w, cmd)
|
|||
char *sV_name; /* name of value */
|
||||
int sV_value; /* corresponding interger value */
|
||||
} sValue[] = {
|
||||
"n", -1,
|
||||
"nil", -1,
|
||||
"none", -1,
|
||||
"null", -1,
|
||||
0
|
||||
{"n", -1},
|
||||
{"nil", -1},
|
||||
{"none", -1},
|
||||
{"null", -1},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Subcell Table */
|
||||
|
|
@ -1881,8 +1881,8 @@ irSpacingsCmd(w, cmd)
|
|||
char *sT_name; /* name of value */
|
||||
int sT_value; /* corresponding interger value */
|
||||
} subcellTable[] = {
|
||||
"subcell", TT_SUBCELL,
|
||||
0
|
||||
{"subcell", TT_SUBCELL},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Process by case */
|
||||
|
|
@ -2238,15 +2238,15 @@ static struct
|
|||
char *wzdP_name; /* name of parameter */
|
||||
void (*wzdP_proc)(); /* Procedure processing this parameter */
|
||||
} wzdParms[] = {
|
||||
"bloom", irWzdSetBloomCost,
|
||||
"bloomLimit", irWzdSetBloomLimit,
|
||||
"boundsIncrement", irWzdSetBoundsIncrement,
|
||||
"estimate", irWzdSetEstimate,
|
||||
"expandEndpoints", irWzdSetExpandEndpoints,
|
||||
"penalty", irWzdSetPenalty,
|
||||
"penetration", irWzdSetPenetration,
|
||||
"window", irWzdSetWindow,
|
||||
0
|
||||
{"bloom", irWzdSetBloomCost},
|
||||
{"bloomLimit", irWzdSetBloomLimit},
|
||||
{"boundsIncrement", irWzdSetBoundsIncrement},
|
||||
{"estimate", irWzdSetEstimate},
|
||||
{"expandEndpoints", irWzdSetExpandEndpoints},
|
||||
{"penalty", irWzdSetPenalty},
|
||||
{"penetration", irWzdSetPenetration},
|
||||
{"window", irWzdSetWindow},
|
||||
{0}
|
||||
};
|
||||
|
||||
void
|
||||
|
|
@ -2510,21 +2510,21 @@ irSaveParametersCmd(w, cmd)
|
|||
/*--- Subcommand Table ---*/
|
||||
|
||||
SubCmdTableE irSubcommands[] = {
|
||||
"contacts", irContactsCmd,
|
||||
{"contacts", irContactsCmd,
|
||||
"set route-contact parameters",
|
||||
"contacts [type] [parameter] [value1] ... [valuen]\n\
|
||||
\t(can use '*' for type or parameter)",
|
||||
\t(can use '*' for type or parameter)"},
|
||||
|
||||
"help", irHelpCmd,
|
||||
{"help", irHelpCmd,
|
||||
"summarize iroute subcommands",
|
||||
"help [subcommand]",
|
||||
"help [subcommand]"},
|
||||
|
||||
"layers", irLayersCmd,
|
||||
{"layers", irLayersCmd,
|
||||
"set route-layer parameters",
|
||||
"layers [type] [parameter] [value1] ... [valuen]\n\
|
||||
\t(can use '*' for type or parameter)",
|
||||
\t(can use '*' for type or parameter)"},
|
||||
|
||||
"route", irRouteCmd,
|
||||
{"route", irRouteCmd,
|
||||
"connect point to node(s)",
|
||||
"route [options]\n\
|
||||
\t-sLayers layers = layers route may start on.\n\
|
||||
|
|
@ -2535,38 +2535,38 @@ SubCmdTableE irSubcommands[] = {
|
|||
\t-dBox = route to box (DEFAULT)\n\
|
||||
\t-dLabel name = route to label of given name\n\
|
||||
\t-dRect xbot ybot xtop ytop = route to rectangle of given coordinates\n\
|
||||
\t-dSelection = route to selection",
|
||||
\t-dSelection = route to selection"},
|
||||
|
||||
"saveParameters", irSaveParametersCmd,
|
||||
{"saveParameters", irSaveParametersCmd,
|
||||
"write out all irouter parameters\n\
|
||||
\t(can be read back with :source)",
|
||||
"saveParameters <filename>",
|
||||
"saveParameters <filename>"},
|
||||
|
||||
"search", irSearchCmd,
|
||||
{"search", irSearchCmd,
|
||||
"set parameters controlling the internal search for routes",
|
||||
"search [searchParameter] [value]",
|
||||
"search [searchParameter] [value]"},
|
||||
|
||||
"spacings", irSpacingsCmd,
|
||||
{"spacings", irSpacingsCmd,
|
||||
"set minimum spacing between route-type and arbitrary type",
|
||||
"spacings [route-type] [type] [spacing] ... [typen spacingn]\n\
|
||||
\t(types can be 'SUBCELL', spacing can be 'nil')\n\
|
||||
iroute spacings CLEAR\n\
|
||||
\t(sets all spacings to nil)",
|
||||
\t(sets all spacings to nil)"},
|
||||
|
||||
"verbosity", irVerbosityCmd,
|
||||
{"verbosity", irVerbosityCmd,
|
||||
"control the amount of messages printed",
|
||||
"verbosity [level]\n\
|
||||
\t(0 = errors and warnings only, 1 = brief, 2 = lots of statistics)",
|
||||
\t(0 = errors and warnings only, 1 = brief, 2 = lots of statistics)"},
|
||||
|
||||
"version", irVersionCmd,
|
||||
{"version", irVersionCmd,
|
||||
"identify irouter version",
|
||||
"version",
|
||||
"version"},
|
||||
|
||||
"wizard", irWizardCmd,
|
||||
{"wizard", irWizardCmd,
|
||||
"set miscellaneous parameters",
|
||||
"wizard [wizardParameter] [value]",
|
||||
"wizard [wizardParameter] [value]"},
|
||||
|
||||
0
|
||||
{0}
|
||||
}, *subCmdP;
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -99,9 +99,9 @@ IRDebugInit()
|
|||
char *di_name;
|
||||
int *di_id;
|
||||
} dflags[] = {
|
||||
"endpts", &irDebEndPts,
|
||||
"noclean", &irDebNoClean,
|
||||
0
|
||||
{"endpts", &irDebEndPts},
|
||||
{"noclean", &irDebNoClean},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Register with debug module */
|
||||
|
|
|
|||
|
|
@ -220,19 +220,19 @@ irParmsTstCmd(w, cmd)
|
|||
|
||||
/*--------------------------- Command Table ------------------------------ */
|
||||
TestCmdTableE irTestCommands[] = {
|
||||
"debug", irDebugTstCmd,
|
||||
{"debug", irDebugTstCmd,
|
||||
"set or clear debug flags",
|
||||
"debug [flag] [value]",
|
||||
"debug [flag] [value]"},
|
||||
|
||||
"help", irHelpTstCmd,
|
||||
{"help", irHelpTstCmd,
|
||||
"summarize *iroute subcommands",
|
||||
"help [subcommand]",
|
||||
"help [subcommand]"},
|
||||
|
||||
"parms", irParmsTstCmd,
|
||||
{"parms", irParmsTstCmd,
|
||||
"print internal data structures",
|
||||
"parms",
|
||||
"parms"},
|
||||
|
||||
0
|
||||
{0}
|
||||
}, *irTestCmdP;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -111,9 +111,9 @@ MZInit()
|
|||
char *di_name;
|
||||
int *di_id;
|
||||
} dflags[] = {
|
||||
"steppath", &mzDebStep,
|
||||
"maze", &mzDebMaze,
|
||||
0
|
||||
{"steppath", &mzDebStep},
|
||||
{"maze", &mzDebMaze},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Register with debug module */
|
||||
|
|
|
|||
|
|
@ -817,8 +817,8 @@ mzTechSpacing(argc, argv)
|
|||
char *sT_name; /* name of value */
|
||||
int sT_value; /* corresponding interger value */
|
||||
} subcellTable[] = {
|
||||
"subcell", TT_SUBCELL,
|
||||
0
|
||||
{"subcell", TT_SUBCELL},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* check number of arguments */
|
||||
|
|
|
|||
|
|
@ -537,39 +537,39 @@ mzVersionCmd(w, cmd)
|
|||
/*--------------------------- Command Table ------------------------------ */
|
||||
|
||||
TestCmdTableE mzTestCommands[] = {
|
||||
"debug", mzDebugTstCmd,
|
||||
{"debug", mzDebugTstCmd,
|
||||
"set or clear debug flags",
|
||||
"debug [flag] [value]",
|
||||
"debug [flag] [value]"},
|
||||
|
||||
"dumpEstimates", mzDumpEstimatesTstCmd,
|
||||
{"dumpEstimates", mzDumpEstimatesTstCmd,
|
||||
"print global estimate info for tiles under box",
|
||||
"dumpEstimates",
|
||||
"dumpEstimates"},
|
||||
|
||||
"dumpTags", mzDumpTagsTstCmd,
|
||||
{"dumpTags", mzDumpTagsTstCmd,
|
||||
"print tag info on data tiles under box",
|
||||
"dumpTags",
|
||||
"dumpTags"},
|
||||
|
||||
"help", mzHelpTstCmd,
|
||||
{"help", mzHelpTstCmd,
|
||||
"summarize *mzroute subcommands",
|
||||
"help [subcommand]",
|
||||
"help [subcommand]"},
|
||||
|
||||
"numberLine", mzNumberLineTstCmd,
|
||||
{"numberLine", mzNumberLineTstCmd,
|
||||
"exercise numberline code",
|
||||
"numberLine",
|
||||
"numberLine"},
|
||||
|
||||
"parms", mzParmsTstCmd,
|
||||
{"parms", mzParmsTstCmd,
|
||||
"print internal data structures",
|
||||
"parms",
|
||||
"parms"},
|
||||
|
||||
"plane", mzPlaneTstCmd,
|
||||
{"plane", mzPlaneTstCmd,
|
||||
"make internal tile plane visible",
|
||||
"plane [plane]",
|
||||
"plane [plane]"},
|
||||
|
||||
"version", mzVersionCmd,
|
||||
{"version", mzVersionCmd,
|
||||
"identify mzrouter version",
|
||||
"version",
|
||||
"version"},
|
||||
|
||||
0
|
||||
{0}
|
||||
}, *mzTestCmdP;
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -59,46 +59,46 @@ extern void nmNotDefined();
|
|||
|
||||
NetButton NMButtons[] =
|
||||
{
|
||||
NULL, STYLE_ORANGE1, 0, 200, 80, 210,
|
||||
NMGetLabels, NULL, NMNextLabel, NULL, NMNextLabel, NULL,
|
||||
NULL, STYLE_ERASEALL, 0, 174, 24, 198,
|
||||
NMPutLabel, NULL, NMReOrientLabel, NULL, NMReOrientLabel, NULL,
|
||||
NULL, STYLE_ORANGE1, 42, 188, 59, 198,
|
||||
NMChangeNum, NULL, NMChangeNum, NULL, NMChangeNum, NULL,
|
||||
NULL, STYLE_ORANGE1, 63, 188, 80, 198,
|
||||
NMChangeNum, NULL, NMChangeNum, NULL, NMChangeNum, NULL,
|
||||
"Find", STYLE_ORANGE2, 42, 174, 80, 184,
|
||||
NMFindLabel, NULL, NMFindLabel, NULL, NMFindLabel, NULL,
|
||||
NULL, STYLE_GREEN1, 0, 150, 80, 160,
|
||||
NMButtonNetList, NULL, NMButtonNetList, NULL, NMButtonNetList, NULL,
|
||||
"Verify", STYLE_BLUE1, 0, 138, 38, 148,
|
||||
NMCmdVerify, NULL, NMCmdVerify, NULL, NMCmdVerify, NULL,
|
||||
"Print", STYLE_BLUE2, 42, 138, 80, 148,
|
||||
NMCmdPrint, NULL, NMCmdPrint, NULL, NMCmdPrint, NULL,
|
||||
"Terms", STYLE_RED1, 0, 126, 38, 136,
|
||||
NMCmdShowterms, NULL, NMCmdShowterms, NULL, NMCmdShowterms, NULL,
|
||||
"Cleanup", STYLE_RED2, 42, 126, 80, 136,
|
||||
NMCmdCleanup, NULL, NMCmdCleanup, NULL, NMCmdCleanup, NULL,
|
||||
"No Net",STYLE_GRAY1, 0, 114, 38, 124,
|
||||
NMCmdDnet, NULL, NMCmdDnet, NULL, NMCmdDnet, NULL,
|
||||
"Show",STYLE_YELLOW1, 42, 114, 80, 124,
|
||||
NMShowUnderBox, NULL, NMShowUnderBox, NULL, NMShowUnderBox, NULL,
|
||||
NULL, -1 /* -1 Signals end of list. */
|
||||
{NULL, STYLE_ORANGE1, {{0, 200}, {80, 210}},
|
||||
NMGetLabels, NULL, NMNextLabel, NULL, NMNextLabel, NULL},
|
||||
{NULL, STYLE_ERASEALL, {{0, 174}, {24, 198}},
|
||||
NMPutLabel, NULL, NMReOrientLabel, NULL, NMReOrientLabel, NULL},
|
||||
{NULL, STYLE_ORANGE1, {{42, 188}, {59, 198}},
|
||||
NMChangeNum, NULL, NMChangeNum, NULL, NMChangeNum, NULL},
|
||||
{NULL, STYLE_ORANGE1, {{63, 188}, {80, 198}},
|
||||
NMChangeNum, NULL, NMChangeNum, NULL, NMChangeNum, NULL},
|
||||
{"Find", STYLE_ORANGE2, {{42, 174}, {80, 184}},
|
||||
NMFindLabel, NULL, NMFindLabel, NULL, NMFindLabel, NULL},
|
||||
{NULL, STYLE_GREEN1, {{0, 150}, {80, 160}},
|
||||
NMButtonNetList, NULL, NMButtonNetList, NULL, NMButtonNetList, NULL},
|
||||
{"Verify", STYLE_BLUE1, {{0, 138}, {38, 148}},
|
||||
NMCmdVerify, NULL, NMCmdVerify, NULL, NMCmdVerify, NULL},
|
||||
{"Print", STYLE_BLUE2, {{42, 138}, {80, 148}},
|
||||
NMCmdPrint, NULL, NMCmdPrint, NULL, NMCmdPrint, NULL},
|
||||
{"Terms", STYLE_RED1, {{0, 126}, {38, 136}},
|
||||
NMCmdShowterms, NULL, NMCmdShowterms, NULL, NMCmdShowterms, NULL},
|
||||
{"Cleanup", STYLE_RED2, {{42, 126}, {80, 136}},
|
||||
NMCmdCleanup, NULL, NMCmdCleanup, NULL, NMCmdCleanup, NULL},
|
||||
{"No Net",STYLE_GRAY1, {{0, 114}, {38, 124}},
|
||||
NMCmdDnet, NULL, NMCmdDnet, NULL, NMCmdDnet, NULL},
|
||||
{"Show",STYLE_YELLOW1, {{42, 114}, {80, 124}},
|
||||
NMShowUnderBox, NULL, NMShowUnderBox, NULL, NMShowUnderBox, NULL},
|
||||
{NULL, -1 /* -1 Signals end of list. */ }
|
||||
};
|
||||
|
||||
NetLabel nmLabels[] =
|
||||
{
|
||||
"Label", STYLE_WHITE, 0, 212, 80, 222,
|
||||
"Netlist", STYLE_WHITE, 0, 162, 80, 172,
|
||||
NULL, -1 /* -1 signals end of list. */
|
||||
{"Label", STYLE_WHITE, {{0, 212}, {80, 222}}},
|
||||
{"Netlist", STYLE_WHITE, {{0, 162}, {80, 172}}},
|
||||
{NULL, -1 /* -1 signals end of list. */ }
|
||||
};
|
||||
|
||||
NetRect nmRects[] =
|
||||
{
|
||||
STYLE_BBOX, 8, 174, 16, 198,
|
||||
STYLE_BBOX, 0, 182, 24, 190,
|
||||
STYLE_BBOX, 12, 186, 12, 186,
|
||||
-1 /* -1 signals end of list. */
|
||||
{STYLE_BBOX, {{8, 174}, {16, 198}}},
|
||||
{STYLE_BBOX, {{0, 182}, {24, 190}}},
|
||||
{STYLE_BBOX, {{12, 186}, {12, 186}}},
|
||||
{-1 /* -1 signals end of list. */ }
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -106,8 +106,8 @@ NetRect nmRects[] =
|
|||
* netlist menu, and the initial screen location of netlist menus.
|
||||
*/
|
||||
|
||||
Rect nmSurfaceArea = {-4, 110, 84, 226};
|
||||
Rect nmScreenArea = {0, 0, 140, 190};
|
||||
Rect nmSurfaceArea = {{-4, 110}, {84, 226}};
|
||||
Rect nmScreenArea = {{0, 0}, {140, 190}};
|
||||
|
||||
/* Only one netlist window is allowed to be open at once. This is it. */
|
||||
|
||||
|
|
|
|||
|
|
@ -408,15 +408,15 @@ PlotColorVersTechLine(sectionName, argc, argv)
|
|||
{
|
||||
VersatecStyle *new;
|
||||
static struct { char *l_str; int l_color; } colors[] = {
|
||||
"black", BLACK,
|
||||
"cyan", CYAN,
|
||||
"magenta", MAGENTA,
|
||||
"yellow", YELLOW,
|
||||
"K", BLACK,
|
||||
"C", CYAN,
|
||||
"M", MAGENTA,
|
||||
"Y", YELLOW,
|
||||
0
|
||||
{"black", BLACK},
|
||||
{"cyan", CYAN},
|
||||
{"magenta", MAGENTA},
|
||||
{"yellow", YELLOW},
|
||||
{"K", BLACK},
|
||||
{"C", CYAN},
|
||||
{"M", MAGENTA},
|
||||
{"Y", YELLOW},
|
||||
{0}
|
||||
};
|
||||
int i;
|
||||
|
||||
|
|
|
|||
|
|
@ -182,11 +182,11 @@ PlowDRCLine(sectionName, argc, argv)
|
|||
int rk_maxargs; /* Max # arguments */
|
||||
int (*rk_proc)(); /* Procedure implementing this keyword */
|
||||
} ruleKeys[] = {
|
||||
"edge", 8, 9, plowEdgeRule,
|
||||
"edge4way", 8, 9, plowEdgeRule,
|
||||
"spacing", 6, 6, plowSpacingRule,
|
||||
"width", 4, 4, plowWidthRule,
|
||||
0
|
||||
{"edge", 8, 9, plowEdgeRule},
|
||||
{"edge4way", 8, 9, plowEdgeRule},
|
||||
{"spacing", 6, 6, plowSpacingRule},
|
||||
{"width", 4, 4, plowWidthRule},
|
||||
{0}
|
||||
}, *rp;
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -105,28 +105,28 @@ struct
|
|||
pCmd p_cmd;
|
||||
char *p_help;
|
||||
} plowCmds[] = {
|
||||
"clrdebug", PC_CLRD, "flags",
|
||||
"help", PC_HELP, "",
|
||||
"jogreduce", PC_JOG, "",
|
||||
"lwidth", PC_LWIDTH, "layers",
|
||||
"lshadow", PC_LSHADOW, "layers",
|
||||
"mergedown", PC_MERGEDOWN, "",
|
||||
"mergeup", PC_MERGEUP, "",
|
||||
"move", PC_MOVE, "",
|
||||
"outline", PC_OUTLINE, "direction layers",
|
||||
"plow", PC_PLOW, "direction [layers]",
|
||||
"print", PC_PRINT, "",
|
||||
"random", PC_RANDOM, "",
|
||||
"setdebug", PC_SETD, "flags",
|
||||
"shadow", PC_SHADOW, "layers",
|
||||
"showdebug", PC_SHOWD, "",
|
||||
"split", PC_SPLIT, "",
|
||||
"techshow", PC_TECHSHOW, "[file]",
|
||||
"trail", PC_TRAIL, "[value]",
|
||||
"whenbot", PC_WHENBOT, "[xbot ybot]",
|
||||
"whentop", PC_WHENTOP, "[xtop ytop]",
|
||||
"width", PC_WIDTH, "layers",
|
||||
0,
|
||||
{"clrdebug", PC_CLRD, "flags"},
|
||||
{"help", PC_HELP, ""},
|
||||
{"jogreduce", PC_JOG, ""},
|
||||
{"lwidth", PC_LWIDTH, "layers"},
|
||||
{"lshadow", PC_LSHADOW, "layers"},
|
||||
{"mergedown", PC_MERGEDOWN, ""},
|
||||
{"mergeup", PC_MERGEUP, ""},
|
||||
{"move", PC_MOVE, ""},
|
||||
{"outline", PC_OUTLINE, "direction layers"},
|
||||
{"plow", PC_PLOW, "direction [layers]"},
|
||||
{"print", PC_PRINT, ""},
|
||||
{"random", PC_RANDOM, ""},
|
||||
{"setdebug", PC_SETD, "flags"},
|
||||
{"shadow", PC_SHADOW, "layers"},
|
||||
{"showdebug", PC_SHOWD, ""},
|
||||
{"split", PC_SPLIT, ""},
|
||||
{"techshow", PC_TECHSHOW, "[file]"},
|
||||
{"trail", PC_TRAIL, "[value]"},
|
||||
{"whenbot", PC_WHENBOT, "[xbot ybot]"},
|
||||
{"whentop", PC_WHENTOP, "[xtop ytop]"},
|
||||
{"width", PC_WIDTH, "layers"},
|
||||
{0},
|
||||
};
|
||||
|
||||
void
|
||||
|
|
@ -457,14 +457,14 @@ plowDebugInit()
|
|||
char *di_name;
|
||||
int *di_id;
|
||||
} debug[] = {
|
||||
"addedge", &plowDebAdd,
|
||||
"jogs", &plowDebJogs,
|
||||
"moveedge", &plowDebMove,
|
||||
"nextedge", &plowDebNext,
|
||||
"time", &plowDebTime,
|
||||
"width", &plowDebWidth,
|
||||
"yankall", &plowDebYankAll,
|
||||
0
|
||||
{"addedge", &plowDebAdd},
|
||||
{"jogs", &plowDebJogs},
|
||||
{"moveedge", &plowDebMove},
|
||||
{"nextedge", &plowDebNext},
|
||||
{"time", &plowDebTime},
|
||||
{"width", &plowDebWidth},
|
||||
{"yankall", &plowDebYankAll},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* Register ourselves with the debugging module */
|
||||
|
|
|
|||
|
|
@ -272,18 +272,18 @@ CmdGaRoute(w, cmd)
|
|||
char *cmd_name;
|
||||
cmdType cmd_val;
|
||||
} cmds[] = {
|
||||
"channel xl yl xh yh [type]\n\
|
||||
channel [type] define a channel", CHANNEL,
|
||||
"generate type [file] generate channel definition commands",
|
||||
GEN,
|
||||
"help print this message", HELP,
|
||||
"nowarn only warn if all locations of a terminal\n\
|
||||
are unreachable", NOWARN,
|
||||
"route [netlist] route the current cell",ROUTE,
|
||||
"reset clear all channel definitions", RESET,
|
||||
"warn leave feedback for each location of a\n\
|
||||
terminal that is unreachable", WARN,
|
||||
0
|
||||
{"channel xl yl xh yh [type]\n\
|
||||
channel [type] define a channel", CHANNEL},
|
||||
{"generate type [file] generate channel definition commands",
|
||||
GEN},
|
||||
{"help print this message", HELP},
|
||||
{"nowarn only warn if all locations of a terminal\n\
|
||||
are unreachable", NOWARN},
|
||||
{"route [netlist] route the current cell",ROUTE},
|
||||
{"reset clear all channel definitions", RESET},
|
||||
{"warn leave feedback for each location of a\n\
|
||||
terminal that is unreachable", WARN},
|
||||
{0}
|
||||
};
|
||||
|
||||
GAInit();
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ static struct dirs /* List of directions for stems */
|
|||
{
|
||||
int dr_dir; /* Direction */
|
||||
}
|
||||
dirs[] = { GEO_NORTH, GEO_SOUTH, GEO_EAST, GEO_WEST, 0 };
|
||||
dirs[] = { {GEO_NORTH}, {GEO_SOUTH}, {GEO_EAST}, {GEO_WEST}, {0} };
|
||||
|
||||
#define MAKEBOX(p, r, width, offset) { \
|
||||
(r)->r_xbot = (p)->p_x + (offset); \
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ SelRememberForUndo(before, def, area)
|
|||
{
|
||||
SelUndoEvent *sue;
|
||||
static SelUndoEvent *beforeEvent = NULL;
|
||||
static Rect nullRect = {0, 0, -1, -1};
|
||||
static Rect nullRect = {{0, 0}, {-1, -1}};
|
||||
|
||||
sue = (SelUndoEvent *) UndoNewEvent(SelUndoClientID, sizeof(SelUndoEvent));
|
||||
if (sue == NULL) return;
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ TiSetBody(tp, b)
|
|||
* this area.
|
||||
*/
|
||||
|
||||
global Rect TiPlaneRect = { MINFINITY+2, MINFINITY+2, INFINITY-2, INFINITY-2 };
|
||||
global Rect TiPlaneRect = { {MINFINITY+2, MINFINITY+2}, {INFINITY-2, INFINITY-2} };
|
||||
|
||||
#ifdef HAVE_SYS_MMAN_H
|
||||
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@ global int GeoOppositePos[] =
|
|||
*-------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
global Rect GeoNullRect = { 0, 0, 0, 0 };
|
||||
global Rect GeoInvertedRect = { 0, 0, -1, -1 };
|
||||
global Rect GeoNullRect = { {0, 0}, {0, 0} };
|
||||
global Rect GeoInvertedRect = { {0, 0}, {-1, -1} };
|
||||
global Point GeoOrigin = { 0, 0 };
|
||||
|
||||
|
||||
|
|
@ -365,40 +365,40 @@ GeoNameToPos(name, manhattan, verbose)
|
|||
}
|
||||
positions[] =
|
||||
{
|
||||
"bl", GEO_SOUTHWEST, FALSE,
|
||||
"bottom", GEO_SOUTH, TRUE,
|
||||
"br", GEO_SOUTHEAST, FALSE,
|
||||
"center", GEO_CENTER, FALSE,
|
||||
"d", GEO_SOUTH, TRUE,
|
||||
"dl", GEO_SOUTHWEST, FALSE,
|
||||
"down", GEO_SOUTH, TRUE,
|
||||
"dr", GEO_SOUTHEAST, FALSE,
|
||||
"e", GEO_EAST, TRUE,
|
||||
"east", GEO_EAST, TRUE,
|
||||
"left", GEO_WEST, TRUE,
|
||||
"n", GEO_NORTH, TRUE,
|
||||
"ne", GEO_NORTHEAST, FALSE,
|
||||
"north", GEO_NORTH, TRUE,
|
||||
"northeast", GEO_NORTHEAST, FALSE,
|
||||
"northwest", GEO_NORTHWEST, FALSE,
|
||||
"nw", GEO_NORTHWEST, FALSE,
|
||||
"right", GEO_EAST, TRUE,
|
||||
"s", GEO_SOUTH, TRUE,
|
||||
"se", GEO_SOUTHEAST, FALSE,
|
||||
"south", GEO_SOUTH, TRUE,
|
||||
"southeast", GEO_SOUTHEAST, FALSE,
|
||||
"southwest", GEO_SOUTHWEST, FALSE,
|
||||
"sw", GEO_SOUTHWEST, FALSE,
|
||||
"tl", GEO_NORTHWEST, FALSE,
|
||||
"top", GEO_NORTH, TRUE,
|
||||
"tr", GEO_NORTHEAST, FALSE,
|
||||
"u", GEO_NORTH, TRUE,
|
||||
"ul", GEO_NORTHWEST, FALSE,
|
||||
"up", GEO_NORTH, TRUE,
|
||||
"ur", GEO_NORTHEAST, FALSE,
|
||||
"w", GEO_WEST, TRUE,
|
||||
"west", GEO_WEST, TRUE,
|
||||
0
|
||||
{"bl", GEO_SOUTHWEST, FALSE},
|
||||
{"bottom", GEO_SOUTH, TRUE},
|
||||
{"br", GEO_SOUTHEAST, FALSE},
|
||||
{"center", GEO_CENTER, FALSE},
|
||||
{"d", GEO_SOUTH, TRUE},
|
||||
{"dl", GEO_SOUTHWEST, FALSE},
|
||||
{"down", GEO_SOUTH, TRUE},
|
||||
{"dr", GEO_SOUTHEAST, FALSE},
|
||||
{"e", GEO_EAST, TRUE},
|
||||
{"east", GEO_EAST, TRUE},
|
||||
{"left", GEO_WEST, TRUE},
|
||||
{"n", GEO_NORTH, TRUE},
|
||||
{"ne", GEO_NORTHEAST, FALSE},
|
||||
{"north", GEO_NORTH, TRUE},
|
||||
{"northeast", GEO_NORTHEAST, FALSE},
|
||||
{"northwest", GEO_NORTHWEST, FALSE},
|
||||
{"nw", GEO_NORTHWEST, FALSE},
|
||||
{"right", GEO_EAST, TRUE},
|
||||
{"s", GEO_SOUTH, TRUE},
|
||||
{"se", GEO_SOUTHEAST, FALSE},
|
||||
{"south", GEO_SOUTH, TRUE},
|
||||
{"southeast", GEO_SOUTHEAST, FALSE},
|
||||
{"southwest", GEO_SOUTHWEST, FALSE},
|
||||
{"sw", GEO_SOUTHWEST, FALSE},
|
||||
{"tl", GEO_NORTHWEST, FALSE},
|
||||
{"top", GEO_NORTH, TRUE},
|
||||
{"tr", GEO_NORTHEAST, FALSE},
|
||||
{"u", GEO_NORTH, TRUE},
|
||||
{"ul", GEO_NORTHWEST, FALSE},
|
||||
{"up", GEO_NORTH, TRUE},
|
||||
{"ur", GEO_NORTHEAST, FALSE},
|
||||
{"w", GEO_WEST, TRUE},
|
||||
{"west", GEO_WEST, TRUE},
|
||||
{0}
|
||||
};
|
||||
struct pos *pp;
|
||||
char *fmt;
|
||||
|
|
|
|||
18
utils/set.c
18
utils/set.c
|
|
@ -109,15 +109,15 @@ SetNoisyBool(parm,valueS,file)
|
|||
char *bS_name; /* name */
|
||||
bool bS_value; /* procedure processing this parameter */
|
||||
} boolStrings[] = {
|
||||
"yes", TRUE,
|
||||
"no", FALSE,
|
||||
"true", TRUE,
|
||||
"false", FALSE,
|
||||
"1", TRUE,
|
||||
"0", FALSE,
|
||||
"on", TRUE,
|
||||
"off", FALSE,
|
||||
0
|
||||
{"yes", TRUE},
|
||||
{"no", FALSE},
|
||||
{"true", TRUE},
|
||||
{"false", FALSE},
|
||||
{"1", TRUE},
|
||||
{"0", FALSE},
|
||||
{"on", TRUE},
|
||||
{"off", FALSE},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* If value not null, set parm */
|
||||
|
|
|
|||
Loading…
Reference in New Issue