summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/param/pyparam.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c
index 979182c678..37e882e1cc 100644
--- a/source4/param/pyparam.c
+++ b/source4/param/pyparam.c
@@ -235,13 +235,14 @@ static PyObject *py_lp_ctx_private_path(py_talloc_Object *self, PyObject *args)
static PyObject *py_lp_ctx_services(py_talloc_Object *self)
{
struct loadparm_context *lp_ctx = PyLoadparmContext_AsLoadparmContext(self);
- const char **names;
PyObject *ret;
int i;
- names = lp_server_services(lp_ctx);
- ret = PyList_New(str_list_length(names));
- for (i = 0; names[i]; i++) {
- PyList_SetItem(ret, i, PyString_FromString(names[i]));
+ ret = PyList_New(lp_numservices(lp_ctx));
+ for (i = 0; i < lp_numservices(lp_ctx); i++) {
+ struct loadparm_service *service = lp_servicebynum(lp_ctx, i);
+ if (service != NULL) {
+ PyList_SetItem(ret, i, PyString_FromString(lp_servicename(service)));
+ }
}
return ret;
}