static PyObject *getCapabilities(PyObject *self) { PyObject *result = NULL; int c, i; result = PyList_New(c = nc_cpblts_count(global_cpblts)); nc_cpblts_iter_start(global_cpblts); for (i = 0; i < c; i++) { PyList_SET_ITEM(result, i, PyUnicode_FromString(nc_cpblts_iter_next(global_cpblts))); } return (result); }
static PyObject *ncSessionGetCapabilities(ncSessionObject *self, void *closure) { struct nc_cpblts* cpblts; PyObject *list; const char *item; ssize_t pos; cpblts = nc_session_get_cpblts(self->session); if (cpblts == NULL) { return (NULL); } list = PyList_New(nc_cpblts_count(cpblts)); nc_cpblts_iter_start(cpblts); for (pos = 0; pos < nc_cpblts_count(cpblts); pos++) { item = nc_cpblts_iter_next(cpblts); PyList_SetItem(list, pos, PyUnicode_FromFormat("%s", item)); } return list; }