summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--glib/glibmodule.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/glib/glibmodule.c b/glib/glibmodule.c
index 74a09db..f794d5d 100644
--- a/glib/glibmodule.c
+++ b/glib/glibmodule.c
@@ -595,6 +595,24 @@ pyglib_set_prgname(PyObject *self, PyObject *arg)
return Py_None;
}
+static PyObject *
+pyglib_find_program_in_path(PyObject *unused, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "program", NULL };
+ char *program, *ret;
+ PyObject *retval;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "s:glib.find_program_in_path", kwlist,
+ &program))
+ return NULL;
+
+ ret = g_find_program_in_path(program);
+ retval = _PyUnicode_FromString(ret);
+ g_free(ret);
+ return retval;
+}
+
static PyMethodDef _glib_functions[] = {
{ "threads_init",
(PyCFunction) pyglib_threads_init, METH_NOARGS,
@@ -688,6 +706,8 @@ static PyMethodDef _glib_functions[] = {
(PyCFunction)pyglib_get_user_special_dir, METH_VARARGS|METH_KEYWORDS },
{ "markup_escape_text",
(PyCFunction)pyglib_markup_escape_text, METH_VARARGS|METH_KEYWORDS },
+ { "find_program_in_path",
+ (PyCFunction)pyglib_find_program_in_path, METH_VARARGS|METH_KEYWORDS },
{ NULL, NULL, 0 }
};