Commit 389d4a71e44 for php.net

commit 389d4a71e44843e18f7d6627567cbd940eaeb306
Author: Derick Rethans <github@derickrethans.nl>
Date:   Thu Aug 6 16:58:19 2026 +0100

    Update timelib to 2026.02

diff --git a/NEWS b/NEWS
index a70b2d52d8b..b6d2b227ce2 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ PHP                                                                        NEWS
     returns an unexpected long. (Sjoerd Langkemper)

 - Date:
-  . Update timelib to 2026.01. (Derick, timwolla)
+  . Update timelib to 2026.02. (Derick, timwolla)

 - GMP:
   . Added optional $definitely_prime output parameter to gmp_prevprime().
diff --git a/ext/date/lib/duration.c b/ext/date/lib/duration.c
index b5b0c766850..b6626419b6b 100644
--- a/ext/date/lib/duration.c
+++ b/ext/date/lib/duration.c
@@ -27,7 +27,7 @@

 int timelib_duration_ctor_static(
 	timelib_duration *duration,
-	timelib_ull       seconds,
+	uint64_t          seconds,
 	uint32_t          nanoseconds,
 	bool              negative
 ) {
@@ -51,7 +51,7 @@ int timelib_duration_ctor_static(
 }

 timelib_duration *timelib_duration_ctor(
-	timelib_ull            seconds,
+	uint64_t               seconds,
 	uint32_t               nanoseconds,
 	bool                   negative,
 	int                   *error_code
@@ -134,7 +134,7 @@ static int timelib_duration_add_abs_internal(
 	const timelib_duration *original,
 	const timelib_duration *additional
 ) {
-	timelib_ull seconds = original->seconds + additional->seconds;
+	uint64_t seconds = original->seconds + additional->seconds;
 	uint32_t nanoseconds = original->nanoseconds + additional->nanoseconds;

 	if (nanoseconds >= NSECS_PER_SEC) {
@@ -151,8 +151,8 @@ static int timelib_duration_sub_abs_internal(
 	const timelib_duration *original,
 	const timelib_duration *minus
 ) {
-	timelib_ull seconds = original->seconds - minus->seconds;
-	timelib_sll nanoseconds = (timelib_sll)original->nanoseconds - (timelib_sll)minus->nanoseconds;
+	uint64_t seconds = original->seconds - minus->seconds;
+	int32_t nanoseconds = (int32_t)original->nanoseconds - (int32_t)minus->nanoseconds;

 	if (nanoseconds < 0) {
 		seconds--;
@@ -343,8 +343,8 @@ int timelib_duration_div_static(
 	const timelib_duration *original,
 	uint64_t                divisor
 ) {
-	timelib_ull seconds;
-	uint32_t nanoseconds;
+	uint64_t seconds;
+	uint64_t nanoseconds;

 	if (divisor < 1) {
 		return TIMELIB_ERROR_DIVISION_BY_ZERO;
diff --git a/ext/date/lib/timelib.c b/ext/date/lib/timelib.c
index 787e8533416..2bbc44a9219 100644
--- a/ext/date/lib/timelib.c
+++ b/ext/date/lib/timelib.c
@@ -50,10 +50,10 @@ const char *timelib_error_messages[18] = {
 	"Nanoseconds value out of range",
 	"Division by zero",
 	"Integer Overflow",
-	"The ISO8601 duration string may only contain the period (P) aspect",
-	"The ISO8601 duration string is missing the perido (P) aspect",
-	"The ISO8601 duration string may only contain the time (T) aspect",
-	"The ISO8601 duration string could not be parsed",
+	"The ISO 8601 duration string may only contain the period (P) aspect",
+	"The ISO 8601 duration string is missing the period (P) aspect",
+	"The ISO 8601 duration string may only contain the time (T) aspect",
+	"The ISO 8601 duration string could not be parsed",
 };

 const char *timelib_get_error_message(int error_code)
diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h
index 97f76f048d7..87fefe1f2e2 100644
--- a/ext/date/lib/timelib.h
+++ b/ext/date/lib/timelib.h
@@ -30,9 +30,9 @@
 # include "timelib_config.h"
 #endif

-#define TIMELIB_VERSION 202601
-#define TIMELIB_EXTENDED_VERSION 20260101
-#define TIMELIB_ASCII_VERSION "2026.01"
+#define TIMELIB_VERSION 202602
+#define TIMELIB_EXTENDED_VERSION 20260201
+#define TIMELIB_ASCII_VERSION "2026.02"

 #include <stdlib.h>
 #include <stdbool.h>
@@ -211,7 +211,7 @@ typedef struct _timelib_abbr_info {
 } timelib_abbr_info;

 typedef struct _timelib_duration {
-	timelib_ull  seconds;
+	uint64_t     seconds;
 	uint32_t     nanoseconds;
 	bool         negative;
 } timelib_duration;
@@ -1054,7 +1054,7 @@ void timelib_get_transitions_for_year(timelib_tzinfo *tz, timelib_sll year, time
  * *error_code set to a value from the TIMELIB_ERROR_* set.
  */
 timelib_duration *timelib_duration_ctor(
-	timelib_ull  seconds,
+	uint64_t     seconds,
 	uint32_t     nanoseconds,
 	bool         negative,
 	int         *error_code
@@ -1068,7 +1068,7 @@ timelib_duration *timelib_duration_ctor(
  */
 int timelib_duration_ctor_static(
 	timelib_duration *duration,
-	timelib_ull       seconds,
+	uint64_t          seconds,
 	uint32_t          nanoseconds,
 	bool              negative
 );
diff --git a/ext/date/lib/timelib_private.h b/ext/date/lib/timelib_private.h
index eece57421fd..d54cff56ee4 100644
--- a/ext/date/lib/timelib_private.h
+++ b/ext/date/lib/timelib_private.h
@@ -87,8 +87,8 @@
 #define SECS_PER_DAY   86400
 #define SECS_PER_HOUR   3600
 #define USECS_PER_HOUR TIMELIB_LL_CONST(3600000000)
-#define NSECS_PER_SEC  TIMELIB_LL_CONST(1000000000)
-#define MAX_DURATION_SECONDS TIMELIB_LL_CONST(9223372035)
+#define NSECS_PER_SEC  1000000000
+#define MAX_DURATION_SECONDS UINT64_C(9223372035)

 #define DAYS_PER_WEEK      7
 #define DAYS_PER_YEAR    365