From: Paul Eggert Date: Fri, 12 Jul 2024 16:23:30 +0000 (+0100) Subject: Use Gnulib workaround for Android strnlen bug X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b14c4cd5359425b2935cf176d9f31b580aa1114f;p=emacs.git Use Gnulib workaround for Android strnlen bug The workaround for the Android 5.0 (API 21) strnlen bug is now done in m4/strnlen.m4, taken from Gnulib, so there is no need for Emacs to have its own workaround. * configure.ac (ORIGINAL_AC_FUNC_STRNLEN, AC_FUNC_STRNLEN): Remove. (cherry picked from commit 2067c255e677f77eaf27dc992400111d8ac59bfd) --- diff --git a/configure.ac b/configure.ac index 50c04b81bc1..16de77f0e6f 100644 --- a/configure.ac +++ b/configure.ac @@ -1611,30 +1611,6 @@ AC_DEFUN([gl_TYPE_OFF64_T], [HAVE_OFF64_T=1 AC_SUBST([HAVE_OFF64_T])]) -# `strnlen' cannot accept nlen greater than the size of the object S -# on Android 5.0 and earlier. -m4_define([ORIGINAL_AC_FUNC_STRNLEN], m4_defn([AC_FUNC_STRNLEN])) -AC_DEFUN([AC_FUNC_STRNLEN], [ -AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([for strnlen capable of accepting large limits], - [emacs_cv_func_strnlen_working], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], [[ - volatile size_t (*strnlen_pointer) (const char *s, size_t) = &strnlen; - if ((*strnlen_pointer) ("", -1) != 0) - return 1; - return 0; -]])],[emacs_cv_func_strnlen_working=yes], - [emacs_cv_func_strnlen_working=no], - [# Guess no on Android 21 and earlier, yes elsewhere. - AS_IF([test -n "$ANDROID_SDK" && test "$ANDROID_SDK" -lt 22], - [emacs_cv_func_strnlen_working=no], - [emacs_cv_func_strnlen_working='guessing yes'])])]) -AS_IF([test "$emacs_cv_func_strnlen_working" != "no"], - [ORIGINAL_AC_FUNC_STRNLEN], - [ac_cv_func_strnlen_working=no - AC_LIBOBJ([strnlen])])]) - # Initialize gnulib right after choosing the compiler. dnl Amongst other things, this sets AR and ARFLAGS. gl_EARLY