[Python-checkins] CVS: python/dist/src/Python ceval.c,2.172,2.173

Jeremy Hylton python-dev@python.org
Thu, 30 Mar 2000 20:22:57 -0500


Update of /projects/cvsroot/python/dist/src/Python
In directory goon.cnri.reston.va.us:/home/jhylton/python/src/Python

Modified Files:
	ceval.c 
Log Message:
rename args variable in CALL_FUNCTION to callargs (avoids name
override)

add missing DECREFs in error handling code of CALL_FUNCTION


Index: ceval.c
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Python/ceval.c,v
retrieving revision 2.172
retrieving revision 2.173
diff -C2 -r2.172 -r2.173
*** ceval.c	2000/03/30 23:55:31	2.172
--- ceval.c	2000/03/31 01:22:54	2.173
***************
*** 1616,1620 ****
  		    else {
  			int nstar = 0;
! 			PyObject *args;
  			PyObject *stararg = 0;
  			PyObject *kwdict = NULL;
--- 1616,1620 ----
  		    else {
  			int nstar = 0;
! 			PyObject *callargs;
  			PyObject *stararg = 0;
  			PyObject *kwdict = NULL;
***************
*** 1679,1682 ****
--- 1679,1684 ----
  					"keyword parameter redefined: %.400s",
  						 PyString_AsString(key));
+ 				    Py_DECREF(key);
+ 				    Py_DECREF(value);
  				    break;
  				}
***************
*** 1688,1698 ****
  			    }
  			    if (err) {
- 				Py_DECREF(args);
  				Py_DECREF(kwdict);
  				break;
  			    }
  			}
! 			args = PyTuple_New(na + nstar);
! 			if (args == NULL) {
  			    x = NULL;
  			    break;
--- 1690,1699 ----
  			    }
  			    if (err) {
  				Py_DECREF(kwdict);
  				break;
  			    }
  			}
! 			callargs = PyTuple_New(na + nstar);
! 			if (callargs == NULL) {
  			    x = NULL;
  			    break;
***************
*** 1703,1707 ****
  				PyObject *a = PyTuple_GET_ITEM(stararg, i);
  				Py_INCREF(a);
! 				PyTuple_SET_ITEM(args, na + i, a);
  			    }
  			    Py_DECREF(stararg);
--- 1704,1708 ----
  				PyObject *a = PyTuple_GET_ITEM(stararg, i);
  				Py_INCREF(a);
! 				PyTuple_SET_ITEM(callargs, na + i, a);
  			    }
  			    Py_DECREF(stararg);
***************
*** 1709,1716 ****
  			while (--na >= 0) {
  			    w = POP();
! 			    PyTuple_SET_ITEM(args, na, w);
  			}
! 			x = PyEval_CallObjectWithKeywords(func, args, kwdict);
! 			Py_DECREF(args);
  			Py_XDECREF(kwdict);
  		    }
--- 1710,1719 ----
  			while (--na >= 0) {
  			    w = POP();
! 			    PyTuple_SET_ITEM(callargs, na, w);
  			}
! 			x = PyEval_CallObjectWithKeywords(func,
! 							  callargs,
! 							  kwdict);  
! 			Py_DECREF(callargs);
  			Py_XDECREF(kwdict);
  		    }