314 static PyObject *
315 Radix_add(RadixObject *self, PyObject *args, PyObject *kw_args)
316 {
317 prefix_t *prefix;
318 static char *keywords[] = { "network", "masklen", "packed", NULL };
319 PyObject *node_obj;
320
321 char *addr = NULL, *packed = NULL;
322 long prefixlen = -1;
323 int packlen = -1;
324
325 if (!PyArg_ParseTupleAndKeywords(args, kw_args, "|sls#:add", keywords,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
326 &addr, &prefixlen, &packed, &packlen))
327 return NULL;
328 if ((prefix = args_to_prefix(addr, packed, packlen, prefixlen)) == NULL)
when treating unknown struct prefix_t * from radix_python.c:328 as NULL
taking True path
329 return NULL;
330
331 node_obj = create_add_node(self, prefix);
332 Deref_Prefix(prefix);
333
334 return node_obj;
335 }
returning (PyObject*)NULL without setting an exception