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

andrewmcnamara@users.sourceforge.net andrewmcnamara@users.sourceforge.net
Thu, 06 Feb 2003 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;