[Python-checkins] python/nondist/sandbox/csv _csv.c,1.19,1.20

andrewmcnamara@users.sourceforge.net andrewmcnamara@users.sourceforge.net
2003年2月06日 22:33:02 -0800


Update of /cvsroot/python/python/nondist/sandbox/csv
In directory sc8-pr-cvs1:/tmp/cvs-serv7551
Modified Files:
	_csv.c 
Log Message:
Improved the way we call self->writeline in writerow, fixed bug handling
errors raised by PyIter_Next in writerows.
Index: _csv.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/csv/_csv.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** _csv.c	7 Feb 2003 04:46:25 -0000	1.19
--- _csv.c	7 Feb 2003 06:33:00 -0000	1.20
***************
*** 849,853 ****
 {
 	int len, i;
- PyObject *arglist, *result;
 
 	if (!PySequence_Check(seq))
--- 849,852 ----
***************
*** 899,908 ****
 		return 0;
 
! arglist = Py_BuildValue("(s#)", self->rec, self->rec_len);
! if (!arglist)
! return NULL;
! 	result = PyEval_CallObject(self->writeline, arglist);
! Py_DECREF(arglist);
! 	return result;
 }
 
--- 898,903 ----
 		return 0;
 
! 	return PyEval_CallFunction(self->writeline, 
! "(s#)", self->rec, self->rec_len);
 }
 
***************
*** 929,932 ****
--- 924,929 ----
 }
 Py_DECREF(row_iter);
+ if (PyErr_Occurred())
+ return NULL;
 Py_INCREF(Py_None);
 return Py_None;

AltStyle によって変換されたページ (->オリジナル) /