Commit e208cd86b4d for php.net

commit e208cd86b4d3298bfda71f349ef0838aa197fce0
Author: Derick Rethans <github@derickrethans.nl>
Date:   Wed Jan 14 14:10:44 2026 +0000

    Upgrade timelib to 2022.16

diff --git a/NEWS b/NEWS
index f20e8d63b02..8ca750b7d51 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? ????, PHP 8.3.31

+- Date:
+  . Update timelib to 2022.15. (Derick)

 15 Jan 2026, PHP 8.3.30

diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
index c40a5c07c9a..ffb3e8e3591 100644
--- a/ext/date/lib/parse_date.re
+++ b/ext/date/lib/parse_date.re
@@ -169,7 +169,14 @@ static const timelib_tz_lookup_table timelib_timezone_utc[] = {
 };

 #if defined(_POSIX_TZNAME_MAX)
-# define MAX_ABBR_LEN _POSIX_TZNAME_MAX
+/* Solaris exposes _POSIX_TZNAME_MAX = 3 unless _XPG6 is defined.
+ * That is too small for real-world timezone abbreviations ("EDT", "CEST", ...).
+ */
+# if defined(__sun__) && _POSIX_TZNAME_MAX < 6
+#  define MAX_ABBR_LEN 6
+# else
+#  define MAX_ABBR_LEN _POSIX_TZNAME_MAX
+# endif
 #elif defined(TZNAME_MAX)
 # define MAX_ABBR_LEN TZNAME_MAX
 #else
@@ -2013,10 +2020,10 @@ timelib_time *timelib_strtotime(const char *s, size_t len, timelib_error_contain
 	in.errors->error_messages = NULL;

 	if (len > 0) {
-		while (isspace(*s) && s < e) {
+		while (isspace((unsigned char)*s) && s < e) {
 			s++;
 		}
-		while (isspace(*e) && e > s) {
+		while (isspace((unsigned char)*e) && e > s) {
 			e--;
 		}
 	}
diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h
index ef57a7ee783..acae8e32533 100644
--- a/ext/date/lib/timelib.h
+++ b/ext/date/lib/timelib.h
@@ -1,7 +1,7 @@
 /*
  * The MIT License (MIT)
  *
- * Copyright (c) 2015-2025 Derick Rethans
+ * Copyright (c) 2015-2026 Derick Rethans
  * Copyright (c) 2018,2021 MongoDB, Inc.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -30,9 +30,9 @@
 # include "timelib_config.h"
 #endif

-#define TIMELIB_VERSION 202214
-#define TIMELIB_EXTENDED_VERSION 20221401
-#define TIMELIB_ASCII_VERSION "2022.14"
+#define TIMELIB_VERSION 202215
+#define TIMELIB_EXTENDED_VERSION 20221501
+#define TIMELIB_ASCII_VERSION "2022.15"

 #include <stdlib.h>
 #include <stdbool.h>