[Python-checkins] python/nondist/sandbox/datetime datetime.c,1.71,1.72 obj_date.c,1.54,1.55 obj_datetime.c,1.58,1.59 obj_datetimetz.c,1.21,1.22

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Sat, 14 Dec 2002 19:55:46 -0800


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

Modified Files:
	datetime.c obj_date.c obj_datetime.c obj_datetimetz.c 
Log Message:
Removed useless exception arg from check_delta_day_range().
Added dstflag arg to build_struct_time().


Index: datetime.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/datetime.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -C2 -d -r1.71 -r1.72
*** datetime.c	14 Dec 2002 17:42:09 -0000	1.71
--- datetime.c	15 Dec 2002 03:55:43 -0000	1.72
***************
*** 322,333 ****
  
  /* Check that -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS.  If so, return 0.
!  * If not, raise the given exception and return -1.
   */
  static int
! check_delta_day_range(int days, PyObject *exception)
  {
  	if (-MAX_DELTA_DAYS <= days && days <= MAX_DELTA_DAYS)
  		return 0;
! 	PyErr_Format(exception,
  		     "days=%d; must have magnitude <= %d",
  		     days);
--- 322,333 ----
  
  /* Check that -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS.  If so, return 0.
!  * If not, raise OverflowError and return -1.
   */
  static int
! check_delta_day_range(int days)
  {
  	if (-MAX_DELTA_DAYS <= days && days <= MAX_DELTA_DAYS)
  		return 0;
! 	PyErr_Format(PyExc_OverflowError,
  		     "days=%d; must have magnitude <= %d",
  		     days);
***************
*** 829,835 ****
  }
  
! /* Build a time.struct_time.  The DST flag is always -1. */
  static PyObject *
! build_struct_time(int y, int m, int d, int hh, int mm, int ss)
  {
  	PyObject *time;
--- 829,837 ----
  }
  
! /* Build a time.struct_time.  The weekday and day number are automatically
!  * computed from the y,m,d args.
!  */
  static PyObject *
! build_struct_time(int y, int m, int d, int hh, int mm, int ss, int dstflag)
  {
  	PyObject *time;
***************
*** 844,848 ****
  				 	     weekday(y, m, d),
  				 	     days_before_month(y, m) + d,
! 				 	     -1);
  		Py_DECREF(time);
  	}
--- 846,850 ----
  				 	     weekday(y, m, d),
  				 	     days_before_month(y, m) + d,
! 				 	     dstflag);
  		Py_DECREF(time);
  	}
***************
*** 1010,1014 ****
  	assert(0 <= microseconds && microseconds < 1000000);
  
!  	if (check_delta_day_range(days, PyExc_OverflowError) < 0)
   		return NULL;
  
--- 1012,1016 ----
  	assert(0 <= microseconds && microseconds < 1000000);
  
!  	if (check_delta_day_range(days) < 0)
   		return NULL;
  

Index: obj_date.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/obj_date.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -C2 -d -r1.54 -r1.55
*** obj_date.c	14 Dec 2002 17:42:09 -0000	1.54
--- obj_date.c	15 Dec 2002 03:55:43 -0000	1.55
***************
*** 335,339 ****
  				 GET_MONTH(self),
  				 GET_DAY(self),
! 				 0, 0, 0);
  }
  
--- 335,339 ----
  				 GET_MONTH(self),
  				 GET_DAY(self),
! 				 0, 0, 0, -1);
  }
  

Index: obj_datetime.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/obj_datetime.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** obj_datetime.c	15 Dec 2002 03:19:41 -0000	1.58
--- obj_datetime.c	15 Dec 2002 03:55:43 -0000	1.59
***************
*** 540,544 ****
  				 DATE_GET_HOUR(self),
  				 DATE_GET_MINUTE(self),
! 				 DATE_GET_SECOND(self));
  }
  
--- 540,545 ----
  				 DATE_GET_HOUR(self),
  				 DATE_GET_MINUTE(self),
! 				 DATE_GET_SECOND(self),
! 				 -1);
  }
  

Index: obj_datetimetz.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/obj_datetimetz.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** obj_datetimetz.c	15 Dec 2002 00:42:04 -0000	1.21
--- obj_datetimetz.c	15 Dec 2002 03:55:43 -0000	1.22
***************
*** 312,315 ****
--- 312,316 ----
  datetimetz_timetuple(PyDateTime_DateTimeTZ *self)
  {
+ 	/* XXX Call dst() to do something more intelligent w/ the dstflag. */
  	return build_struct_time(GET_YEAR(self),
  				 GET_MONTH(self),
***************
*** 317,321 ****
  				 DATE_GET_HOUR(self),
  				 DATE_GET_MINUTE(self),
! 				 DATE_GET_SECOND(self));
  }
  
--- 318,323 ----
  				 DATE_GET_HOUR(self),
  				 DATE_GET_MINUTE(self),
! 				 DATE_GET_SECOND(self),
! 				 -1);
  }