From 97cefa8897e2b99008e326e78dc9cbc9e9121fa1 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Fri, 12 Jul 2024 00:27:58 +0200 Subject: [PATCH] Autotools: Refactor oniguruma invalid KOI8 check - Fixed warning: cast from pointer to integer of different size using the intptr_t instead of int type case - CS synced - Check wrapped in AC_CACHE_CHECK - Over-quoted arguments reduced - Also the include flags added to the check when building with oniguruma installed on custom places --- ext/mbstring/config.m4 | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4 index 4dd6948d21083..a8d287af353c7 100644 --- a/ext/mbstring/config.m4 +++ b/ext/mbstring/config.m4 @@ -55,20 +55,24 @@ AC_DEFUN([PHP_MBSTRING_SETUP_MBREGEX], [ PHP_EVAL_LIBLINE($ONIG_LIBS, MBSTRING_SHARED_LIBADD) PHP_EVAL_INCLINE($ONIG_CFLAGS) - save_old_LDFLAGS=$LDFLAGS - PHP_EVAL_LIBLINE([$MBSTRING_SHARED_LIBADD], LDFLAGS) - AC_MSG_CHECKING([if oniguruma has an invalid entry for KOI8 encoding]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include - ]], [[ -return (int)(ONIG_ENCODING_KOI8 + 1); - ]])], [ - AC_MSG_RESULT([no]) - ], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([PHP_ONIG_BAD_KOI8_ENTRY], [1], [define to 1 if oniguruma has an invalid entry for KOI8 encoding]) - ]) - LDFLAGS=$save_old_LDFLAGS + AC_CACHE_CHECK([if oniguruma has an invalid entry for KOI8 encoding], + [php_cv_lib_onig_invalid_koi8], + [save_old_LDFLAGS=$LDFLAGS + save_old_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $ONIG_CFLAGS" + PHP_EVAL_LIBLINE([$MBSTRING_SHARED_LIBADD], [LDFLAGS]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include + #include + ], + [return (intptr_t)(ONIG_ENCODING_KOI8 + 1);])], + [php_cv_lib_onig_invalid_koi8=no], + [php_cv_lib_onig_invalid_koi8=yes]) + LDFLAGS=$save_old_LDFLAGS + CFLAGS=$save_old_CFLAGS]) + AS_VAR_IF([php_cv_lib_onig_invalid_koi8], [yes], + [AC_DEFINE([PHP_ONIG_BAD_KOI8_ENTRY], [1], + [Define to 1 if oniguruma has an invalid entry for KOI8 encoding.])]) PHP_MBSTRING_ADD_CFLAG([-DONIG_ESCAPE_UCHAR_COLLISION=1]) PHP_MBSTRING_ADD_CFLAG([-DUChar=OnigUChar])