[php-src] master: Remove `php_error_docref_unchecked` (#23042)

Calvin Buckley via GitHub <[email protected]>
Newsgroups gmane.comp.php.cvs.general
Message-ID <[email protected]>
Author: Calvin Buckley (NattyNarwhal)
Committer: GitHub (web-flow)
Pusher: NattyNarwhal
Date: 2026-08-04T18:08:07-03:00

Commit: https://github.com/php/php-src/commit/02334db9bbaea349f342a88495e65699b4a4c8d1
Raw diff: https://github.com/php/php-src/commit/02334db9bbaea349f342a88495e65699b4a4c8d1.diff

Remove `php_error_docref_unchecked` (#23042)

* standard: remove sole user of php_error_docref_unchecked

After GH-22390 was merged, we can now use a %pS format specifier for
zend_string without having to use the unchecked variant (so that gcc et
al doesn't complain that %S should be for wchar_t*).

* main: Remove php_error_docref_unchecked

There are no external users AFAIK, and now no internal users.

Changed paths:
  M  ext/standard/array.c
  M  main/main.c
  M  main/php.h


Diff:

diff --git a/ext/standard/array.c b/ext/standard/array.c
index 2d1dd584906a..fe74e1e7881d 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -2579,7 +2579,7 @@ static void php_compact_var(HashTable *eg_active_symbol_table, zval *return_valu
 				zend_hash_update(Z_ARRVAL_P(return_value), Z_STR_P(entry), &data);
 			}
 		} else {
-			php_error_docref_unchecked(NULL, E_WARNING, "Undefined variable $%S", Z_STR_P(entry));
+			php_error_docref(NULL, E_WARNING, "Undefined variable $%pS", Z_STR_P(entry));
 		}
 	} else if (Z_TYPE_P(entry) == IS_ARRAY) {
 		if (Z_REFCOUNTED_P(entry)) {
diff --git a/main/main.c b/main/main.c
index 753625643508..2eb55c5cff07 100644
--- a/main/main.c
+++ b/main/main.c
@@ -1241,21 +1241,12 @@ PHPAPI ZEND_COLD void php_verror(const char *docref, int type, const char *forma
 
 /* {{{ php_error_docref */
 /* Generate an error which links to docref or the php.net documentation if docref is NULL */
-#define php_error_docref_impl(docref, type, format) do {\
-		va_list args; \
-		va_start(args, format); \
-		php_verror(docref, type, format, args); \
-		va_end(args); \
-	} while (0)
-
 PHPAPI ZEND_COLD void php_error_docref(const char *docref, int type, const char *format, ...)
 {
-	php_error_docref_impl(docref, type, format);
-}
-
-PHPAPI ZEND_COLD void php_error_docref_unchecked(const char *docref, int type, const char *format, ...)
-{
-	php_error_docref_impl(docref, type, format);
+	va_list args;
+	va_start(args, format);
+	php_verror(docref, type, format, args);
+	va_end(args);
 }
 /* }}} */
 
diff --git a/main/php.h b/main/php.h
index 5186868e612f..275d07309ca1 100644
--- a/main/php.h
+++ b/main/php.h
@@ -304,7 +304,6 @@ PHPAPI ZEND_COLD void php_verror(const char *docref, int type, const char *forma
 /* PHPAPI void php_error(int type, const char *format, ...); */
 PHPAPI ZEND_COLD void php_error_docref(const char *docref, int type, const char *format, ...)
 	PHP_ATTRIBUTE_FORMAT(printf, 3, 4);
-PHPAPI ZEND_COLD void php_error_docref_unchecked(const char *docref, int type, const char *format, ...);
 END_EXTERN_C()
 
 #define zenderror phperror
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.