fix environment passing bug in python bindings
This commit is contained in:
parent
24b2e59fd4
commit
2c0c790691
2 changed files with 53 additions and 1 deletions
46
python-env-passing.patch
Normal file
46
python-env-passing.patch
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
From 3c22f5997c7e11f371c606520daff279d9b613e4 Mon Sep 17 00:00:00 2001
|
||||
From: Behdad Esfahbod <behdad@behdad.org>
|
||||
Date: Tue, 29 Sep 2009 18:54:30 +0000
|
||||
Subject: Bug 587894 - the environment passing with python does no longer work
|
||||
|
||||
---
|
||||
diff --git a/python/vte.override b/python/vte.override
|
||||
index 29c3316..196b935 100644
|
||||
--- a/python/vte.override
|
||||
+++ b/python/vte.override
|
||||
@@ -112,7 +112,7 @@ _build_envv(PyObject *py_envv, char ***envv)
|
||||
int i, pos, n_envs;
|
||||
PyObject *py_dict_k, *py_dict_v;
|
||||
|
||||
- if (py_envv == NULL || py_envv != Py_None) {
|
||||
+ if (py_envv == NULL || py_envv == Py_None) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -122,20 +122,20 @@ _build_envv(PyObject *py_envv, char ***envv)
|
||||
pos = 0;
|
||||
i = 0;
|
||||
while (PyDict_Next(py_envv, &pos, &py_dict_k, &py_dict_v)) {
|
||||
- *envv[i++] = g_strdup_printf("%s=%s",
|
||||
+ (*envv)[i++] = g_strdup_printf("%s=%s",
|
||||
PyString_AsString(py_dict_k),
|
||||
PyString_AsString(py_dict_v));
|
||||
}
|
||||
- *envv[n_envs] = NULL;
|
||||
+ (*envv)[n_envs] = NULL;
|
||||
} else if (PySequence_Check(py_envv)) {
|
||||
n_envs = PySequence_Length(py_envv);
|
||||
*envv = g_new(gchar *, n_envs + 1);
|
||||
for (i = 0; i < n_envs; i++) {
|
||||
PyObject *item = PySequence_GetItem(py_envv, i);
|
||||
Py_DECREF(item); /* PySequence_GetItem INCREF's */
|
||||
- *envv[i] = PyString_AsString(item);
|
||||
+ (*envv)[i] = PyString_AsString(item);
|
||||
}
|
||||
- *envv[n_envs] = NULL;
|
||||
+ (*envv)[n_envs] = NULL;
|
||||
} else {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"envv must be a sequence or a dictionary");
|
||||
--
|
||||
cgit v0.8.2
|
||||
Loading…
Add table
Add a link
Reference in a new issue