From e13ba36abbce730b552768d13a575799937a6e2d Mon Sep 17 00:00:00 2001 From: David Carlier Date: Wed, 4 Jun 2025 19:22:06 +0100 Subject: [PATCH] ext/tidy: anticipate tidyOptIsReadOnly retirement. using tidyOptGetCategory when possible. related GH-18751 close GH-18763 --- NEWS | 1 + ext/tidy/config.m4 | 5 +++++ ext/tidy/tidy.c | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/NEWS b/NEWS index d6f38f9adce..9b2c97db0b1 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,7 @@ PHP NEWS - Tidy: . Fix memory leak in tidy output handler on error. (nielsdos) + . Fix tidyOptIsReadonly deprecation, using tidyOptGetCategory. (David Carlier) 05 Jun 2025, PHP 8.3.22 diff --git a/ext/tidy/config.m4 b/ext/tidy/config.m4 index bc0976a1dd9..569cb367294 100644 --- a/ext/tidy/config.m4 +++ b/ext/tidy/config.m4 @@ -62,6 +62,11 @@ if test "$PHP_TIDY" != "no"; then AC_DEFINE(HAVE_TIDYRELEASEDATE,1,[ ]) ], [], []) + PHP_CHECK_LIBRARY($TIDY_LIB_NAME,tidyOptGetCategory, + [ + AC_DEFINE(HAVE_TIDYOPTGETCATEGORY,1,[ ]) + ], [], []) + PHP_ADD_LIBRARY_WITH_PATH($TIDY_LIB_NAME, $TIDY_LIBDIR, TIDY_SHARED_LIBADD) PHP_ADD_INCLUDE($TIDY_INCDIR) diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index 46dd637f40e..a42e2bc2037 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -232,7 +232,11 @@ static int _php_tidy_set_tidy_opt(TidyDoc doc, char *optname, zval *value) return FAILURE; } +#if defined(HAVE_TIDYOPTGETCATEGORY) + if (tidyOptGetCategory(opt) == TidyInternalCategory) { +#else if (tidyOptIsReadOnly(opt)) { +#endif php_error_docref(NULL, E_WARNING, "Attempting to set read-only option \"%s\"", optname); return FAILURE; }