* Contributors: Details at https://graphviz.org
*************************************************************************/
+#include <string.h>
#include "tcldot.h"
int edgecmd(ClientData clientData, Tcl_Interp * interp,
#endif /* TCLOBJ */
)
{
- char c, *s, **argv2;
- int i, j, length, argc2;
+ char *s, **argv2;
+ int i, j, argc2;
Agraph_t *g;
Agedge_t *e;
Agsym_t *a;
}
g = agraphof(agtail(e));
- c = argv[1][0];
- length = strlen(argv[1]);
-
- if (MATCHES_OPTION("delete", argv[1], c, length)) {
+ if (strcmp("delete", argv[1]) == 0) {
deleteEdge(gctx, g, e);
return TCL_OK;
- } else if (MATCHES_OPTION("listattributes", argv[1], c, length)) {
+ } else if (strcmp("listattributes", argv[1]) == 0) {
listEdgeAttrs (interp, g);
return TCL_OK;
- } else if (MATCHES_OPTION("listnodes", argv[1], c, length)) {
+ } else if (strcmp("listnodes", argv[1]) == 0) {
Tcl_AppendElement(interp, obj2cmd(agtail(e)));
Tcl_AppendElement(interp, obj2cmd(aghead(e)));
return TCL_OK;
- } else if (MATCHES_OPTION("queryattributes", argv[1], c, length)) {
+ } else if (strcmp("queryattributes", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryattributevalues", argv[1], c, length)) {
+ } else if (strcmp("queryattributevalues", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("setattributes", argv[1], c, length)) {
+ } else if (strcmp("setattributes", argv[1]) == 0) {
if (argc == 3) {
if (Tcl_SplitList
(interp, argv[2], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("showname", argv[1], c, length)) {
+ } else if (strcmp("showname", argv[1]) == 0) {
if (agisdirected(g))
s = "->";
else
*************************************************************************/
#include <stdbool.h>
+#include <string.h>
#include "tcldot.h"
int graphcmd(ClientData clientData, Tcl_Interp * interp,
gctx_t *gctx = (gctx_t *)clientData;
ictx_t *ictx = gctx->ictx;
Agsym_t *a;
- char c, buf[256], **argv2;
+ char buf[256], **argv2;
int i, j, argc2;
- size_t length;
GVC_t *gvc = ictx->gvc;
GVJ_t *job = gvc->job;
return TCL_ERROR;
}
- c = argv[1][0];
- length = strlen(argv[1]);
-
- if (MATCHES_OPTION("addedge", argv[1], c, length)) {
+ if (strcmp("addedge", argv[1]) == 0) {
if ((argc < 4) || (argc % 2)) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
" addedge tail head ?attributename attributevalue? ?...?\"",
setedgeattributes(agroot(g), e, &argv[4], argc - 4);
return TCL_OK;
- } else if (MATCHES_OPTION("addnode", argv[1], c, length)) {
+ } else if (strcmp("addnode", argv[1]) == 0) {
if (argc % 2) {
/* if odd number of args then argv[2] is name */
n = agnode(g, argv[2], 1);
setnodeattributes(agroot(g), n, &argv[i], argc - i);
return TCL_OK;
- } else if (MATCHES_OPTION("addsubgraph", argv[1], c, length)) {
+ } else if (strcmp("addsubgraph", argv[1]) == 0) {
if (argc < 2) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
"\" addsubgraph ?name? ?attributename attributevalue? ?...?",
setgraphattributes(sg, &argv[i], argc - i);
return TCL_OK;
- } else if (MATCHES_OPTION("countnodes", argv[1], c, length)) {
+ } else if (strcmp("countnodes", argv[1]) == 0) {
sprintf(buf, "%d", agnnodes(g));
Tcl_AppendResult(interp, buf, NULL);
return TCL_OK;
- } else if (MATCHES_OPTION("countedges", argv[1], c, length)) {
+ } else if (strcmp("countedges", argv[1]) == 0) {
sprintf(buf, "%d", agnedges(g));
Tcl_AppendResult(interp, buf, NULL);
return TCL_OK;
- } else if (MATCHES_OPTION("delete", argv[1], c, length)) {
+ } else if (strcmp("delete", argv[1]) == 0) {
deleteGraph(gctx, g);
return TCL_OK;
- } else if (MATCHES_OPTION("findedge", argv[1], c, length)) {
+ } else if (strcmp("findedge", argv[1]) == 0) {
if (argc < 4) {
Tcl_AppendResult(interp, "wrong # args: should be \"",
argv[0], " findedge tailnodename headnodename\"", NULL);
Tcl_AppendElement(interp, obj2cmd(e));
return TCL_OK;
- } else if (MATCHES_OPTION("findnode", argv[1], c, length)) {
+ } else if (strcmp("findnode", argv[1]) == 0) {
if (argc < 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " findnode nodename\"", NULL);
return TCL_ERROR;
Tcl_AppendResult(interp, obj2cmd(n), NULL);
return TCL_OK;
- } else if (MATCHES_OPTION("layoutedges", argv[1], c, length)) {
+ } else if (strcmp("layoutedges", argv[1]) == 0) {
g = agroot(g);
if (!aggetrec (g, "Agraphinfo_t",0))
tcldot_layout(gvc, g, (argc > 2) ? argv[2] : NULL);
return TCL_OK;
- } else if (MATCHES_OPTION("layoutnodes", argv[1], c, length)) {
+ } else if (strcmp("layoutnodes", argv[1]) == 0) {
g = agroot(g);
if (!aggetrec (g, "Agraphinfo_t",0))
tcldot_layout(gvc, g, (argc > 2) ? argv[2] : NULL);
return TCL_OK;
- } else if (MATCHES_OPTION("listattributes", argv[1], c, length)) {
+ } else if (strcmp("listattributes", argv[1]) == 0) {
listGraphAttrs(interp, g);
return TCL_OK;
- } else if (MATCHES_OPTION("listedgeattributes", argv[1], c, length)) {
+ } else if (strcmp("listedgeattributes", argv[1]) == 0) {
listEdgeAttrs (interp, g);
return TCL_OK;
- } else if (MATCHES_OPTION("listnodeattributes", argv[1], c, length)) {
+ } else if (strcmp("listnodeattributes", argv[1]) == 0) {
listNodeAttrs (interp, g);
return TCL_OK;
- } else if (MATCHES_OPTION("listedges", argv[1], c, length)) {
+ } else if (strcmp("listedges", argv[1]) == 0) {
for (n = agfstnode(g); n; n = agnxtnode(g, n)) {
for (e = agfstout(g, n); e; e = agnxtout(g, e)) {
Tcl_AppendElement(interp, obj2cmd(e));
}
return TCL_OK;
- } else if (MATCHES_OPTION("listnodes", argv[1], c, length)) {
+ } else if (strcmp("listnodes", argv[1]) == 0) {
for (n = agfstnode(g); n; n = agnxtnode(g, n)) {
Tcl_AppendElement(interp, obj2cmd(n));
}
return TCL_OK;
- } else if (MATCHES_OPTION("listnodesrev", argv[1], c, length)) {
+ } else if (strcmp("listnodesrev", argv[1]) == 0) {
for (n = aglstnode(g); n; n = agprvnode(g, n)) {
Tcl_AppendElement(interp, obj2cmd(n));
}
return TCL_OK;
- } else if (MATCHES_OPTION("listsubgraphs", argv[1], c, length)) {
+ } else if (strcmp("listsubgraphs", argv[1]) == 0) {
for (sg = agfstsubg(g); sg; sg = agnxtsubg(sg)) {
Tcl_AppendElement(interp, obj2cmd(sg));
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryattributes", argv[1], c, length)) {
+ } else if (strcmp("queryattributes", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryattributevalues", argv[1], c, length)) {
+ } else if (strcmp("queryattributevalues", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryedgeattributes", argv[1], c, length)) {
+ } else if (strcmp("queryedgeattributes", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryedgeattributevalues", argv[1], c, length)) {
+ } else if (strcmp("queryedgeattributevalues", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("querynodeattributes", argv[1], c, length)) {
+ } else if (strcmp("querynodeattributes", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("querynodeattributevalues", argv[1], c, length)) {
+ } else if (strcmp("querynodeattributevalues", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("render", argv[1], c, length)) {
+ } else if (strcmp("render", argv[1]) == 0) {
char *canvas;
if (argc < 3) {
gvjobs_delete(gvc);
return TCL_OK;
- } else if (MATCHES_OPTION("setattributes", argv[1], c, length)) {
+ } else if (strcmp("setattributes", argv[1]) == 0) {
if (argc == 3) {
if (Tcl_SplitList
(interp, argv[2], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("setedgeattributes", argv[1], c, length)) {
+ } else if (strcmp("setedgeattributes", argv[1]) == 0) {
if (argc == 3) {
if (Tcl_SplitList
(interp, argv[2], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("setnodeattributes", argv[1], c, length)) {
+ } else if (strcmp("setnodeattributes", argv[1]) == 0) {
if (argc == 3) {
if (Tcl_SplitList
(interp, argv[2], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("showname", argv[1], c, length)) {
+ } else if (strcmp("showname", argv[1]) == 0) {
Tcl_SetResult(interp, agnameof(g), TCL_STATIC);
return TCL_OK;
- } else if (MATCHES_OPTION("write", argv[1], c, length)) {
+ } else if (strcmp("write", argv[1]) == 0) {
g = agroot(g);
if (argc < 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
* Contributors: Details at https://graphviz.org
*************************************************************************/
+#include <string.h>
#include "tcldot.h"
int nodecmd(ClientData clientData, Tcl_Interp * interp,
#endif /* TCLOBJ */
)
{
- char c, **argv2;
+ char **argv2;
int i, j, argc2;
- size_t length;
Agraph_t *g;
Agnode_t *n, *head;
Agedge_t *e;
}
g = agraphof(n);
- c = argv[1][0];
- length = strlen(argv[1]);
-
-
- if (MATCHES_OPTION("addedge", argv[1], c, length)) {
+ if (strcmp("addedge", argv[1]) == 0) {
if ((argc < 3) || (!(argc % 2))) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " addedge head ?attributename attributevalue? ?...?\"", NULL);
return TCL_ERROR;
setedgeattributes(agroot(g), e, &argv[3], argc - 3);
return TCL_OK;
- } else if (MATCHES_OPTION("delete", argv[1], c, length)) {
+ } else if (strcmp("delete", argv[1]) == 0) {
deleteNode(gctx, g, n);
return TCL_OK;
- } else if (MATCHES_OPTION("findedge", argv[1], c, length)) {
+ } else if (strcmp("findedge", argv[1]) == 0) {
if (argc < 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], " findedge headnodename\"", NULL);
return TCL_ERROR;
Tcl_AppendElement(interp, obj2cmd(head));
return TCL_OK;
- } else if (MATCHES_OPTION("listattributes", argv[1], c, length)) {
+ } else if (strcmp("listattributes", argv[1]) == 0) {
listNodeAttrs (interp, g);
return TCL_OK;
- } else if (MATCHES_OPTION("listedges", argv[1], c, length)) {
+ } else if (strcmp("listedges", argv[1]) == 0) {
for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) {
Tcl_AppendElement(interp, obj2cmd(e));
}
return TCL_OK;
- } else if (MATCHES_OPTION("listinedges", argv[1], c, length)) {
+ } else if (strcmp("listinedges", argv[1]) == 0) {
for (e = agfstin(g, n); e; e = agnxtin(g, e)) {
Tcl_AppendElement(interp, obj2cmd(e));
}
return TCL_OK;
- } else if (MATCHES_OPTION("listoutedges", argv[1], c, length)) {
+ } else if (strcmp("listoutedges", argv[1]) == 0) {
for (e = agfstout(g, n); e; e = agnxtout(g, e)) {
Tcl_AppendElement(interp, obj2cmd(e));
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryattributes", argv[1], c, length)) {
+ } else if (strcmp("queryattributes", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("queryattributevalues", argv[1], c, length)) {
+ } else if (strcmp("queryattributevalues", argv[1]) == 0) {
for (i = 2; i < argc; i++) {
if (Tcl_SplitList
(interp, argv[i], &argc2,
}
return TCL_OK;
- } else if (MATCHES_OPTION("setattributes", argv[1], c, length)) {
+ } else if (strcmp("setattributes", argv[1]) == 0) {
g = agroot(g);
if (argc == 3) {
if (Tcl_SplitList
}
return TCL_OK;
- } else if (MATCHES_OPTION("showname", argv[1], c, length)) {
+ } else if (strcmp("showname", argv[1]) == 0) {
Tcl_SetResult(interp, agnameof(n), TCL_STATIC);
return TCL_OK;