]> granicus.if.org Git - python/commitdiff
Use Tcl_SetObjResult instead of Tcl_SetResult.
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 13 Aug 2007 05:41:41 +0000 (05:41 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 13 Aug 2007 05:41:41 +0000 (05:41 +0000)
Modules/_tkinter.c

index df281cdcaec1e163fe67d8656f753bba7a880923..93e4a985bcdbcae0286fe32ae1dc549fd9d1f0fa 100644 (file)
@@ -1946,9 +1946,9 @@ static int
 PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
 {
        PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
-       PyObject *self, *func, *arg, *res, *tmp;
+       PyObject *self, *func, *arg, *res;
        int i, rv;
-       char *s;
+       Tcl_Obj *tres;
 
        ENTER_PYTHON
 
@@ -1975,24 +1975,17 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
        if (res == NULL)
                return PythonCmd_Error(interp);
 
-       if (!(tmp = PyList_New(0))) {
-               Py_DECREF(res);
-               return PythonCmd_Error(interp);
-       }
-
-       s = AsString(res, tmp);
-       if (s == NULL) {
+       tres = AsObj(res);
+       if (tres == NULL) {
                Py_DECREF(res);
-               Py_DECREF(tmp);
                return PythonCmd_Error(interp);
        }
        else {
-               Tcl_SetResult(Tkapp_Interp(self), s, TCL_VOLATILE);
+               Tcl_SetObjResult(Tkapp_Interp(self), tres);
                rv = TCL_OK;
        }
 
        Py_DECREF(res);
-       Py_DECREF(tmp);
 
        LEAVE_PYTHON