[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",