@@ -2481,35 +2481,40 @@ PHPAPI bool php_date_initialize(php_date_obj *dateobj, const char *time_str, siz
24812481 return 1 ;
24822482} /* }}} */
24832483
2484- PHPAPI void php_date_initialize_from_ts_long (php_date_obj * dateobj , zend_long sec , int usec ) /* {{{ */
2484+ PHPAPI void php_date_initialize_from_ts_sll (php_date_obj * dateobj , timelib_sll sec , int usec ) /* {{{ */
24852485{
24862486 dateobj -> time = timelib_time_ctor ();
24872487 dateobj -> time -> zone_type = TIMELIB_ZONETYPE_OFFSET ;
24882488
2489- timelib_unixtime2gmt (dateobj -> time , ( timelib_sll ) sec );
2489+ timelib_unixtime2gmt (dateobj -> time , sec );
24902490 timelib_update_ts (dateobj -> time , NULL );
24912491 php_date_set_time_fraction (dateobj -> time , usec );
24922492} /* }}} */
24932493
2494+ PHPAPI void php_date_initialize_from_ts_long (php_date_obj * dateobj , zend_long sec , int usec ) /* {{{ */
2495+ {
2496+ php_date_initialize_from_ts_sll (dateobj , (timelib_sll )sec , usec );
2497+ } /* }}} */
2498+
24942499PHPAPI bool php_date_initialize_from_ts_double (php_date_obj * dateobj , double ts ) /* {{{ */
24952500{
24962501 double sec_dval = trunc (ts );
2497- zend_long sec ;
2502+ timelib_sll sec ;
24982503 int usec ;
24992504
2500- if (UNEXPECTED (isnan (sec_dval ) || !PHP_DATE_DOUBLE_FITS_LONG (sec_dval ))) {
2505+ if (UNEXPECTED (isnan (sec_dval ) || !PHP_DATE_DOUBLE_FITS_SLL (sec_dval ))) {
25012506 zend_argument_error (
25022507 date_ce_date_range_error ,
25032508 1 ,
2504- "must be a finite number between " TIMELIB_LONG_FMT " and " TIMELIB_LONG_FMT ".999999, %g given" ,
2505- TIMELIB_LONG_MIN ,
2506- TIMELIB_LONG_MAX ,
2509+ "must be a finite number between " PHP_DATE_SLL_FMT " and " PHP_DATE_SLL_FMT ".999999, %g given" ,
2510+ INT64_MIN ,
2511+ INT64_MAX ,
25072512 ts
25082513 );
25092514 return false;
25102515 }
25112516
2512- sec = (zend_long )sec_dval ;
2517+ sec = (timelib_sll )sec_dval ;
25132518 usec = (int ) round (fmod (ts , 1 ) * 1000000 );
25142519
25152520 if (UNEXPECTED (abs (usec ) == 1000000 )) {
@@ -2518,13 +2523,13 @@ PHPAPI bool php_date_initialize_from_ts_double(php_date_obj *dateobj, double ts)
25182523 }
25192524
25202525 if (UNEXPECTED (usec < 0 )) {
2521- if (UNEXPECTED (sec == TIMELIB_LONG_MIN )) {
2526+ if (UNEXPECTED (sec == INT64_MAX )) {
25222527 zend_argument_error (
25232528 date_ce_date_range_error ,
25242529 1 ,
2525- "must be a finite number between " TIMELIB_LONG_FMT " and " TIMELIB_LONG_FMT ".999999, %g given" ,
2526- TIMELIB_LONG_MIN ,
2527- TIMELIB_LONG_MAX ,
2530+ "must be a finite number between " PHP_DATE_SLL_FMT " and " PHP_DATE_SLL_FMT ".999999, %g given" ,
2531+ INT64_MIN ,
2532+ INT64_MAX ,
25282533 ts
25292534 );
25302535 return false;
@@ -2534,7 +2539,7 @@ PHPAPI bool php_date_initialize_from_ts_double(php_date_obj *dateobj, double ts)
25342539 usec = 1000000 + usec ;
25352540 }
25362541
2537- php_date_initialize_from_ts_long (dateobj , sec , usec );
2542+ php_date_initialize_from_ts_sll (dateobj , sec , usec );
25382543
25392544 return true;
25402545} /* }}} */
0 commit comments