diff --git a/NEWS b/NEWS index 6af8ce6b2cb..384c21d01d9 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,9 @@ PHP NEWS . Fixed bug GH-20895 (ReflectionProperty does not return the PHPDoc of a property if it contains an attribute with a Closure). (timwolla) +- Date: + . Update timelib to 2022.16. (Derick) + - MbString: . Fixed bug GH-20833 (mb_str_pad() divide by zero if padding string is invalid in the encoding). (ndossche) 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 #include