[Python-checkins] python/nondist/sandbox/datetime obj_date.c,1.51,1.52 obj_datetime.c,1.48,1.49
tim_one@users.sourceforge.net
tim_one@users.sourceforge.net
Fri, 13 Dec 2002 11:16:11 -0800
Update of /cvsroot/python/python/nondist/sandbox/datetime
In directory sc8-pr-cvs1:/tmp/cvs-serv7166
Modified Files:
obj_date.c obj_datetime.c
Log Message:
More use of typecheck macros.
Index: obj_date.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/obj_date.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** obj_date.c 13 Dec 2002 19:07:25 -0000 1.51
--- obj_date.c 13 Dec 2002 19:16:07 -0000 1.52
***************
*** 190,203 ****
date_subtract(PyObject *left, PyObject *right)
{
! PyTypeObject *left_type = left->ob_type;
! PyTypeObject *right_type = right->ob_type;
!
! if (PyType_IsSubtype(left_type, &PyDateTime_DateTimeType)
! || PyType_IsSubtype(right_type, &PyDateTime_DateTimeType)) {
Py_INCREF(Py_NotImplemented);
return Py_NotImplemented;
}
! if (PyType_IsSubtype(left_type, &PyDateTime_DateType)) {
! if (PyType_IsSubtype(right_type, &PyDateTime_DateType)) {
/* date - date */
long left_ord = ymd_to_ord(GET_YEAR(left),
--- 190,199 ----
date_subtract(PyObject *left, PyObject *right)
{
! if (PyDateTime_Check(left) || PyDateTime_Check(right)) {
Py_INCREF(Py_NotImplemented);
return Py_NotImplemented;
}
! if (PyDate_CheckExact(left)) {
! if (PyDate_CheckExact(right)) {
/* date - date */
long left_ord = ymd_to_ord(GET_YEAR(left),
***************
*** 209,213 ****
return new_delta(left_ord - right_ord, 0, 0, 0);
}
! if (PyType_IsSubtype(right_type, &PyDateTime_DeltaType)) {
/* date - delta */
return add_date_timedelta((PyDateTime_Date *) left,
--- 205,209 ----
return new_delta(left_ord - right_ord, 0, 0, 0);
}
! if (PyDelta_Check(right)) {
/* date - delta */
return add_date_timedelta((PyDateTime_Date *) left,
***************
*** 320,324 ****
long diff;
! if (! PyType_IsSubtype(other->ob_type, &PyDateTime_DateType)) {
PyErr_Format(PyExc_TypeError,
"can't compare date to %s instance",
--- 316,320 ----
long diff;
! if (! PyDate_Check(other)) {
PyErr_Format(PyExc_TypeError,
"can't compare date to %s instance",
***************
*** 405,409 ****
PyObject *result = NULL;
! if (date->ob_type != &PyDateTime_DateType) {
PyErr_Format(PyExc_TypeError,
"bad type passed to date pickler: %s",
--- 401,405 ----
PyObject *result = NULL;
! if (! PyDate_CheckExact(date)) {
PyErr_Format(PyExc_TypeError,
"bad type passed to date pickler: %s",
Index: obj_datetime.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/obj_datetime.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -C2 -d -r1.48 -r1.49
*** obj_datetime.c 13 Dec 2002 16:43:20 -0000 1.48
--- obj_datetime.c 13 Dec 2002 19:16:08 -0000 1.49
***************
*** 292,301 ****
datetime_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_datetime_timedelta(
--- 292,298 ----
datetime_add(PyObject *left, PyObject *right)
{
! if (PyDateTime_Check(left)) {
/* datetime + ??? */
! if (PyDelta_Check(right))
/* datetime + delta */
return add_datetime_timedelta(
***************
*** 303,307 ****
(PyDateTime_Delta *)right);
}
! else if (PyType_IsSubtype(left_type, &PyDateTime_DeltaType)) {
/* delta + datetime */
return add_datetime_timedelta((PyDateTime_DateTime *) right,
--- 300,304 ----
(PyDateTime_Delta *)right);
}
! else if (PyDelta_Check(left)) {
/* delta + datetime */
return add_datetime_timedelta((PyDateTime_DateTime *) right,
***************
*** 315,325 ****
datetime_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_datetime_datetime(
--- 312,320 ----
datetime_subtract(PyObject *left, PyObject *right)
{
PyObject *result = Py_NotImplemented;
! if (PyDateTime_Check(left)) {
/* datetime - ??? */
! if (PyDateTime_Check(right)) {
/* datetime - datetime */
result = sub_datetime_datetime(
***************
*** 327,331 ****
(PyDateTime_DateTime *)right);
}
! else if (PyType_IsSubtype(right_type, &PyDateTime_DeltaType)) {
/* datetime - delta */
result = sub_datetime_timedelta(
--- 322,326 ----
(PyDateTime_DateTime *)right);
}
! else if (PyDelta_Check(right)) {
/* datetime - delta */
result = sub_datetime_timedelta(
***************
*** 420,424 ****
long diff;
! if (!PyType_IsSubtype(other->ob_type, &PyDateTime_DateTimeType)) {
PyErr_Format(PyExc_TypeError,
"can't compare datetime to %s instance",
--- 415,419 ----
long diff;
! if (! PyDateTime_Check(other)) {
PyErr_Format(PyExc_TypeError,
"can't compare datetime to %s instance",
***************
*** 509,513 ****
PyObject *result = NULL;
! if (datetime->ob_type != &PyDateTime_DateTimeType) {
PyErr_Format(PyExc_TypeError,
"bad type passed to datetime pickler: %s",
--- 504,508 ----
PyObject *result = NULL;
! if (! PyDateTime_CheckExact(datetime)) {
PyErr_Format(PyExc_TypeError,
"bad type passed to datetime pickler: %s",