From: David Lamparter Date: Sat, 20 Jul 2024 22:30:09 +0000 (-0700) Subject: lib/clippy: allow creating empty graph X-Git-Tag: base_10.2~220^2~9 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7fb8729a32e53a11f5cb0c5c741a35c59f33a273;p=matthieu%2Ffrr.git lib/clippy: allow creating empty graph When merging graphs, it makes sense to allow starting with an empty one. Signed-off-by: David Lamparter --- diff --git a/lib/command_py.c b/lib/command_py.c index ccdbfc5f8e..ada0f0d386 100644 --- a/lib/command_py.c +++ b/lib/command_py.c @@ -296,7 +296,7 @@ static PyObject *graph_parse(PyTypeObject *type, PyObject *args, PyObject *kwds) if (!gwrap) return NULL; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|s", (char **)kwnames, + if (!PyArg_ParseTupleAndKeywords(args, kwds, "z|s", (char **)kwnames, &def, &doc)) return NULL; @@ -304,12 +304,18 @@ static PyObject *graph_parse(PyTypeObject *type, PyObject *args, PyObject *kwds) struct cmd_token *token = cmd_token_new(START_TKN, 0, NULL, NULL); graph_new_node(graph, token, (void (*)(void *)) & cmd_token_del); - struct cmd_element cmd = {.string = def, .doc = doc}; - cmd_graph_parse(graph, &cmd); - cmd_graph_names(graph); + if (def) { + struct cmd_element cmd = { .string = def, .doc = doc }; + + cmd_graph_parse(graph, &cmd); + cmd_graph_names(graph); + + gwrap->definition = strdup(def); + } else { + gwrap->definition = strdup("NULL"); + } gwrap->graph = graph; - gwrap->definition = strdup(def); return (PyObject *)gwrap; }