[Python-checkins] python/nondist/sandbox/datetime obj_datetimetz.c,1.3,1.4

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Fri, 13 Dec 2002 11:19:33 -0800


Update of /cvsroot/python/python/nondist/sandbox/datetime
In directory sc8-pr-cvs1:/tmp/cvs-serv8437

Modified Files:
	obj_datetimetz.c 
Log Message:
More use of typecheck macros.


Index: obj_datetimetz.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/obj_datetimetz.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** obj_datetimetz.c	13 Dec 2002 17:20:27 -0000	1.3
--- obj_datetimetz.c	13 Dec 2002 19:19:28 -0000	1.4
***************
*** 286,295 ****
  datetimetz_add(PyObject *left, PyObject *right)
  {
! 	PyTypeObject *left_type = left->ob_type;
! 	PyTypeObject *right_type = right->ob_type;
! 
! 	if (PyType_IsSubtype(left_type, &PyDateTime_DateTimeType)) {
  		/* datetime + ??? */
! 		if (PyType_IsSubtype(right_type, &PyDateTime_DeltaType))
  			/* datetime + delta */
  			return add_datetimetz_timedelta(
--- 286,292 ----
  datetimetz_add(PyObject *left, PyObject *right)
  {
! 	if (PyDateTime_Check(left)) {
  		/* datetime + ??? */
! 		if (PyDelta_Check(right))
  			/* datetime + delta */
  			return add_datetimetz_timedelta(
***************
*** 297,301 ****
  					(PyDateTime_Delta *)right);
  	}
! 	else if (PyType_IsSubtype(left_type, &PyDateTime_DeltaType)) {
  		/* delta + datetime */
  		return add_datetimetz_timedelta((PyDateTime_DateTimeTZ *) right,
--- 294,298 ----
  					(PyDateTime_Delta *)right);
  	}
! 	else if (PyDelta_Check(left)) {
  		/* delta + datetime */
  		return add_datetimetz_timedelta((PyDateTime_DateTimeTZ *) right,
***************
*** 309,319 ****
  datetimetz_subtract(PyObject *left, PyObject *right)
  {
- 	PyTypeObject *left_type = left->ob_type;
- 	PyTypeObject *right_type = right->ob_type;
  	PyObject *result = Py_NotImplemented;
  
! 	if (PyType_IsSubtype(left_type, &PyDateTime_DateTimeType)) {
  		/* datetime - ??? */
! 		if (PyType_IsSubtype(right_type, &PyDateTime_DateTimeType)) {
  			/* datetime - datetime */
  			result = sub_datetimetz_datetime(
--- 306,314 ----
  datetimetz_subtract(PyObject *left, PyObject *right)
  {
  	PyObject *result = Py_NotImplemented;
  
! 	if (PyDateTime_Check(left)) {
  		/* datetime - ??? */
! 		if (PyDelta_Check(right)) {
  			/* datetime - datetime */
  			result = sub_datetimetz_datetime(
***************
*** 321,325 ****
  					(PyDateTime_DateTimeTZ *)right);
  		}
! 		else if (PyType_IsSubtype(right_type, &PyDateTime_DeltaType)) {
  			/* datetime - delta */
  			result = sub_datetimetz_timedelta(
--- 316,320 ----
  					(PyDateTime_DateTimeTZ *)right);
  		}
! 		else if (PyDelta_Check(right)) {
  			/* datetime - delta */
  			result = sub_datetimetz_timedelta(
***************
*** 416,420 ****
  	long diff;
  
! 	if (!PyType_IsSubtype(other->ob_type, &PyDateTime_DateTimeTZType)) {
  		PyErr_Format(PyExc_TypeError,
  			     "can't compare datetime to %s instance",
--- 411,415 ----
  	long diff;
  
! 	if (! PyDateTimeTZ_CheckExact(other)) {
  		PyErr_Format(PyExc_TypeError,
  			     "can't compare datetime to %s instance",
***************
*** 505,509 ****
  	PyObject *result = NULL;
  
! 	if (datetime->ob_type != &PyDateTime_DateTimeType) {
  		PyErr_Format(PyExc_TypeError,
  			     "bad type passed to datetime pickler: %s",
--- 500,504 ----
  	PyObject *result = NULL;
  
! 	if (! PyDateTimeTZ_CheckExact(datetime)) {
  		PyErr_Format(PyExc_TypeError,
  			     "bad type passed to datetime pickler: %s",