From: Matthew Fernandez Date: Sat, 11 Sep 2021 19:26:07 +0000 (-0700) Subject: lib/gvpr/compile.c: rewrite 'INT2PTR' macro as a function X-Git-Tag: 2.49.1~15^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1466829f1eebb6690fe6f212f55123cf857cb64a;p=graphviz lib/gvpr/compile.c: rewrite 'INT2PTR' macro as a function This is more straightforward, type safe, and shorter. --- diff --git a/lib/gvpr/compile.c b/lib/gvpr/compile.c index 92d93f509..67fd4de69 100644 --- a/lib/gvpr/compile.c +++ b/lib/gvpr/compile.c @@ -43,11 +43,18 @@ static int isedge(Agobj_t *obj) { #include #define BITS_PER_BYTE 8 + +static void *int2ptr(Sflong_t i) { +#ifdef HAVE_INTPTR_T + return (void*)(intptr_t)i; +#else + return (void*)i; +#endif +} + #ifdef HAVE_INTPTR_T -#define INT2PTR(t,v) ((t)(intptr_t)(v)) #define PTR2INT(v) ((Sflong_t)(intptr_t)(v)) #else -#define INT2PTR(t,v) ((t)(v)) #define PTR2INT(v) ((Sflong_t)(v)) #endif @@ -276,9 +283,7 @@ static Agobj_t *deref(Expr_t * pgm, Exnode_t * x, Exref_t * ref, if (ref == 0) return objp; else if (ref->symbol->lex == DYNAMIC) { - ptr = - INT2PTR(void *, - x->data.variable.dyna->data.variable.dyna->data. + ptr = int2ptr(x->data.variable.dyna->data.variable.dyna->data. constant.value.integer); if (!ptr) { exerror("null reference %s in expression %s.%s", @@ -681,7 +686,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(gp); break; case F_subg: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { gp = openSubg(gp, args[1].string); v.integer = PTR2INT(gp); @@ -691,7 +696,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_issubg: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { v.integer = PTR2INT(agsubg(gp, args[1].string, 0)); } else { @@ -700,7 +705,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstsubg: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { gp = agfstsubg(gp); v.integer = PTR2INT(gp); @@ -710,7 +715,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtsubg: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { gp = agnxtsubg(gp); v.integer = PTR2INT(gp); @@ -720,7 +725,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_node: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { np = openNode(gp, args[1].string); v.integer = PTR2INT(np); @@ -730,8 +735,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_addnode: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to addNode()"); v.integer = 0; @@ -742,7 +747,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(addNode(gp, np, 1)); break; case F_fstnode: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { np = agfstnode(gp); v.integer = PTR2INT(np); @@ -752,7 +757,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtnode: - np = INT2PTR(Agnode_t *, args[0].integer); + np = int2ptr(args[0].integer); if (np) { np = agnxtnode(agroot(np), np); v.integer = PTR2INT(np); @@ -762,8 +767,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtnodesg: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -775,7 +780,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_isnode: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { v.integer = PTR2INT(agnode(gp, args[1].string, 0)); } else { @@ -784,8 +789,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_issubnode: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -796,8 +801,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_indegree: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -808,8 +813,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_outdegree: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -820,8 +825,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_degree: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -832,8 +837,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_isin: - gp = INT2PTR(Agraph_t *, args[0].integer); - objp = INT2PTR(Agobj_t *, args[1].integer); + gp = int2ptr(args[0].integer); + objp = int2ptr(args[1].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to isIn()"); v.integer = 0; @@ -844,8 +849,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = agcontains (gp, objp); break; case F_compof: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to compOf()"); v.integer = 0; @@ -856,7 +861,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(compOf(gp, np)); break; case F_kindof: - objp = INT2PTR(Agobj_t *, args[0].integer); + objp = int2ptr(args[0].integer); if (!objp) { exerror("NULL object passed to kindOf()"); v.string = 0; @@ -877,8 +882,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, key = args[2].string; if (*key == '\0') key = 0; - np = INT2PTR(Agnode_t *, args[0].integer); - hp = INT2PTR(Agnode_t *, args[1].integer); + np = int2ptr(args[0].integer); + hp = int2ptr(args[1].integer); if (!np) { error(ERROR_WARNING, "NULL tail node passed to edge()"); v.integer = 0; @@ -894,9 +899,9 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, key = args[3].string; if (*key == '\0') key = 0; - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); - hp = INT2PTR(Agnode_t *, args[2].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); + hp = int2ptr(args[2].integer); if (!np) { error(ERROR_WARNING, "NULL tail node passed to edge_sg()"); v.integer = 0; @@ -909,8 +914,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_addedge: - gp = INT2PTR(Agraph_t *, args[0].integer); - ep = INT2PTR(Agedge_t *, args[1].integer); + gp = int2ptr(args[0].integer); + ep = int2ptr(args[1].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to addEdge()"); v.integer = 0; @@ -921,8 +926,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(addEdge(gp, ep, 1)); break; case F_opp: - ep = INT2PTR(Agedge_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + ep = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!ep) { error(ERROR_WARNING, "NULL edge passed to opp()"); v.integer = 0; @@ -941,8 +946,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, key = args[2].string; if (*key == '\0') key = 0; - np = INT2PTR(Agnode_t *, args[0].integer); - hp = INT2PTR(Agnode_t *, args[1].integer); + np = int2ptr(args[0].integer); + hp = int2ptr(args[1].integer); if (!np) { error(ERROR_WARNING, "NULL tail node passed to isEdge()"); v.integer = 0; @@ -956,9 +961,9 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, key = args[3].string; if (*key == '\0') key = 0; - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); - hp = INT2PTR(Agnode_t *, args[2].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); + hp = int2ptr(args[2].integer); if (!gp) gp = agroot(np); if (!np) { @@ -971,8 +976,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(isEdge(gp, np, hp, key)); break; case F_issubedge: - gp = INT2PTR(Agraph_t *, args[0].integer); - ep = INT2PTR(Agedge_t *, args[1].integer); + gp = int2ptr(args[0].integer); + ep = int2ptr(args[1].integer); if (!gp) gp = agroot(ep); if (ep) { @@ -983,7 +988,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstout: - np = INT2PTR(Agnode_t *, args[0].integer); + np = int2ptr(args[0].integer); if (np) { ep = agfstout(agroot(np), np); v.integer = PTR2INT(ep); @@ -993,8 +998,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstoutsg: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -1006,7 +1011,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtout: - ep = INT2PTR(Agedge_t *, args[0].integer); + ep = int2ptr(args[0].integer); if (ep) { ep = agnxtout(agroot(ep), ep); v.integer = PTR2INT(ep); @@ -1016,8 +1021,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtoutsg: - gp = INT2PTR(Agraph_t *, args[0].integer); - ep = INT2PTR(Agedge_t *, args[1].integer); + gp = int2ptr(args[0].integer); + ep = int2ptr(args[1].integer); if (!gp) gp = agroot(ep); if (ep) { @@ -1029,7 +1034,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstin: - np = INT2PTR(Agnode_t *, args[0].integer); + np = int2ptr(args[0].integer); if (np) { ep = agfstin(agroot(np), np); v.integer = PTR2INT(ep); @@ -1039,8 +1044,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstinsg: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -1052,7 +1057,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtin: - ep = INT2PTR(Agedge_t *, args[0].integer); + ep = int2ptr(args[0].integer); if (ep) { ep = agnxtin(agroot(ep), ep); v.integer = PTR2INT(ep); @@ -1062,8 +1067,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtinsg: - gp = INT2PTR(Agraph_t *, args[0].integer); - ep = INT2PTR(Agedge_t *, args[1].integer); + gp = int2ptr(args[0].integer); + ep = int2ptr(args[1].integer); if (!gp) gp = agroot(ep); if (ep) { @@ -1075,7 +1080,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstedge: - np = INT2PTR(Agnode_t *, args[0].integer); + np = int2ptr(args[0].integer); if (np) { ep = agfstedge(agroot(np), np); v.integer = PTR2INT(ep); @@ -1085,8 +1090,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstedgesg: - gp = INT2PTR(Agraph_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + gp = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!gp) gp = agroot(np); if (np) { @@ -1098,8 +1103,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtedge: - ep = INT2PTR(Agedge_t *, args[0].integer); - np = INT2PTR(Agnode_t *, args[1].integer); + ep = int2ptr(args[0].integer); + np = int2ptr(args[1].integer); if (!ep) { error(ERROR_WARNING, "NULL edge passed to nxtedge()"); v.integer = 0; @@ -1112,9 +1117,9 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nxtedgesg: - gp = INT2PTR(Agraph_t *, args[0].integer); - ep = INT2PTR(Agedge_t *, args[1].integer); - np = INT2PTR(Agnode_t *, args[2].integer); + gp = int2ptr(args[0].integer); + ep = int2ptr(args[1].integer); + np = int2ptr(args[2].integer); if (!gp) gp = agroot(np); if (!ep) { @@ -1129,8 +1134,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_copy: - gp = INT2PTR(Agraph_t *, args[0].integer); - objp = INT2PTR(Agobj_t *, args[1].integer); + gp = int2ptr(args[0].integer); + objp = int2ptr(args[1].integer); if (!objp) { error(ERROR_WARNING, "NULL object passed to clone()"); v.integer = 0; @@ -1138,8 +1143,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(copy(gp, objp)); break; case F_clone: - gp = INT2PTR(Agraph_t *, args[0].integer); - objp = INT2PTR(Agobj_t *, args[1].integer); + gp = int2ptr(args[0].integer); + objp = int2ptr(args[1].integer); if (!objp) { error(ERROR_WARNING, "NULL object passed to clone()"); v.integer = 0; @@ -1147,7 +1152,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(clone(gp, objp)); break; case F_cloneG: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { gp = cloneG(gp, args[1].string); v.integer = PTR2INT(gp); @@ -1157,8 +1162,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_copya: - objp = INT2PTR(Agobj_t *, args[0].integer); - objp1 = INT2PTR(Agobj_t *, args[1].integer); + objp = int2ptr(args[0].integer); + objp1 = int2ptr(args[1].integer); if (!(objp && objp1)) { error(ERROR_WARNING, "NULL object passed to copyA()"); v.integer = 0; @@ -1166,7 +1171,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = copyAttr(objp, objp1); break; case F_induce: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to induce()"); v.integer = 1; @@ -1176,7 +1181,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_write: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to write()"); v.integer = 1; @@ -1184,7 +1189,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = sfioWrite (gp, state->outFile, state->dfltIO); break; case F_writeg: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to writeG()"); v.integer = 1; @@ -1196,7 +1201,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = PTR2INT(gp); break; case F_fwriteg: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to fwriteG()"); v.integer = 1; @@ -1217,7 +1222,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.string = readLine(pgm, args[0].integer); break; case F_isdirect: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to isDirect()"); v.integer = 0; @@ -1226,7 +1231,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_isstrict: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to isStrict()"); v.integer = 0; @@ -1235,8 +1240,8 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_delete: - gp = INT2PTR(Agraph_t *, args[0].integer); - objp = INT2PTR(Agobj_t *, args[1].integer); + gp = int2ptr(args[0].integer); + objp = int2ptr(args[1].integer); if (!objp) { error(ERROR_WARNING, "NULL object passed to delete()"); v.integer = 1; @@ -1253,7 +1258,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = deleteObj(gp, objp); break; case F_lock: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to lock()"); v.integer = -1; @@ -1261,7 +1266,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = lockGraph(gp, args[1].integer); break; case F_nnodes: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to nNodes()"); v.integer = 0; @@ -1270,7 +1275,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_nedges: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (!gp) { error(ERROR_WARNING, "NULL graph passed to nEdges()"); v.integer = 0; @@ -1316,7 +1321,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, break; case F_hasattr: case F_get: - objp = INT2PTR(Agobj_t *, args[0].integer); + objp = int2ptr(args[0].integer); name = args[1].string; if (!objp) { exerror("NULL object passed to aget()/hasAttr()"); @@ -1339,7 +1344,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_set: - objp = INT2PTR(Agobj_t *, args[0].integer); + objp = int2ptr(args[0].integer); if (!objp) { error(ERROR_WARNING, "NULL object passed to aset()"); v.integer = 1; @@ -1360,7 +1365,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_dset: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { char* kind = args[1].string; char* name = args[2].string; @@ -1386,7 +1391,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, } break; case F_fstattr: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { char* kind = args[1].string; if (!kind) { @@ -1404,7 +1409,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, case F_nxtattr: case F_isattr: case F_dget: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { char* kind = args[1].string; char* name = args[2].string; @@ -1437,7 +1442,7 @@ getval(Expr_t * pgm, Exnode_t * node, Exid_t * sym, Exref_t * ref, v.integer = aghtmlstr(args[0].string); break; case F_html: - gp = INT2PTR(Agraph_t *, args[0].integer); + gp = int2ptr(args[0].integer); if (gp) { v.string = toHtml(gp, args[1].string); } else { @@ -1613,7 +1618,7 @@ setval(Expr_t * pgm, Exnode_t * x, Exid_t * sym, Exref_t * ref, } else if (MINNAME <= sym->index && sym->index <= MAXNAME) { switch (sym->index) { case V_outgraph: - state->outgraph = INT2PTR(Agraph_t *, v.integer); + state->outgraph = int2ptr(v.integer); break; case V_travtype: iv = v.integer; @@ -1624,7 +1629,7 @@ setval(Expr_t * pgm, Exnode_t * x, Exid_t * sym, Exref_t * ref, iv, typeName(pgm, T_tvtyp)); break; case V_travroot: - np = INT2PTR(Agnode_t *, v.integer); + np = int2ptr(v.integer); if (!np || agroot(np) == state->curgraph) state->tvroot = np; else { @@ -1633,7 +1638,7 @@ setval(Expr_t * pgm, Exnode_t * x, Exid_t * sym, Exref_t * ref, } break; case V_travnext: - np = INT2PTR(Agnode_t *, v.integer); + np = int2ptr(v.integer); if (!np || agroot(np) == state->curgraph) { state->tvnext = np; state->flags |= GV_NEXT_SET; @@ -1929,9 +1934,9 @@ binary(Expr_t * pg, Exnode_t * l, Exnode_t * ex, Exnode_t * r, int arg, if (r && r->type == T_tvtyp) return -1; - lobjp = INT2PTR(Agobj_t *, l->data.constant.value.integer); + lobjp = int2ptr(l->data.constant.value.integer); if (r) - robjp = INT2PTR(Agobj_t *, r->data.constant.value.integer); + robjp = int2ptr(r->data.constant.value.integer); else robjp = 0; switch (ex->op) { @@ -2093,7 +2098,7 @@ static int stringOf(Expr_t * prog, Exnode_t * x, int arg, Exdisc_t* disc) tvtypeToStr (x->data.constant.value.integer))) rv = -1; } else { - objp = INT2PTR(Agobj_t *, x->data.constant.value.integer); + objp = int2ptr(x->data.constant.value.integer); if (!objp) { exerror("cannot generate name for NULL %s", typeName(prog, x->type)); @@ -2137,7 +2142,7 @@ convert(Expr_t * prog, Exnode_t * x, int type, if (type != FLOATING && type <= T_obj) ret = 0; } else { - objp = INT2PTR(Agobj_t *, x->data.constant.value.integer); + objp = int2ptr(x->data.constant.value.integer); switch (type) { case T_graph: if (!objp || AGTYPE(objp) == AGRAPH) @@ -2197,7 +2202,7 @@ convert(Expr_t * prog, Exnode_t * x, int type, static Extype_t keyval(Expr_t * pgm, Extype_t v, int type, Exdisc_t * disc) { if (type <= T_obj) { - v.integer = AGID(INT2PTR(Agobj_t *, v.integer)); + v.integer = AGID(int2ptr(v.integer)); } return v; }