From: NeilBrown Date: Thu, 10 Dec 2015 00:03:17 +0000 (+1100) Subject: python_call: don't accept return values for storage in 'ci'. X-Git-Tag: lca2016~90 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=95b86f67b68dd00998a9250bcf7054afd34f6783;p=edlib.git python_call: don't accept return values for storage in 'ci'. That approach is no longer supported. Signed-off-by: NeilBrown --- diff --git a/lang-python.c b/lang-python.c index 27e6003c..6c35179d 100644 --- a/lang-python.c +++ b/lang-python.c @@ -145,42 +145,10 @@ DEF_CMD(python_call) } if (ret == Py_None) rv = 0; - if (PyDict_Check(ret)) { - PyObject *r; - r = PyDict_GetItemString(ret, "focus"); - if (r && Py_TYPE(r) == &PaneType) - ci->focus = ((Pane*)r)->pane; - r = PyDict_GetItemString(ret, "home"); - if (r && Py_TYPE(r) == &PaneType) - ci->home = ((Pane*)r)->pane; - - r = PyDict_GetItemString(ret, "mark"); - if (r && Py_TYPE(r) == &MarkType) - ci->mark = ((Mark*)r)->mark; - r = PyDict_GetItemString(ret, "mark2"); - if (r && Py_TYPE(r) == &MarkType) - ci->mark2 = ((Mark*)r)->mark; - - r = PyDict_GetItemString(ret, "str"); - if (r && PyString_Check(r)) - ci->str = PyString_AsString(r); - r = PyDict_GetItemString(ret, "str2"); - if (r && PyString_Check(r)) - ci->str2 = PyString_AsString(r); - - r = PyDict_GetItemString(ret, "numeric"); - if (r && PyInt_Check(r)) - ci->numeric = PyInt_AsLong(r); - r = PyDict_GetItemString(ret, "extra"); - if (r && PyInt_Check(r)) - ci->extra = PyInt_AsLong(r); - - r = PyDict_GetItemString(ret, "return"); - if (r && PyInt_Check(r)) - rv = PyInt_AsLong(r); - - /* FIXME xy and hxy */ - } + else if (PyInt_Check(ret)) + rv = PyInt_AsLong(ret); + else + rv = 1; Py_DECREF(ret); return rv; }