]> git.eshelyaron.com Git - emacs.git/commitdiff
Port Android port to older Android systems
authorPo Lu <luangruo@yahoo.com>
Tue, 2 May 2023 00:16:00 +0000 (08:16 +0800)
committerPo Lu <luangruo@yahoo.com>
Tue, 2 May 2023 00:16:00 +0000 (08:16 +0800)
* exec/config.h.in: Autoheader.
* exec/configure.ac: Check for declarations of stpcpy and
stpncpy.
* exec/exec.c (stpcpy, stpncpy): Use replacements if
declarations are not present; this happens when a new Android
NDK is building for an old version of Android.

exec/config.h.in
exec/configure.ac
exec/exec.c

index c276ff3f1f7e9de36c7e4b9a6c8443beb32e42a6..d8c225b631d829be6b55df7b074a5b938dec2be0 100644 (file)
@@ -38,6 +38,14 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>. */
 /* Define to number of the `exec' system call. */
 #undef EXEC_SYSCALL
 
+/* Define to 1 if you have the declaration of `stpcpy', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STPCPY
+
+/* Define to 1 if you have the declaration of `stpncpy', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STPNCPY
+
 /* Define to 1 if you have the `getpagesize' function. */
 #undef HAVE_GETPAGESIZE
 
index 9b4bcebe34e45e61b6457a14c753c4a7cca48369..f3eef60173c103af8a9c86b0c7c7a975b0842f43 100644 (file)
@@ -55,6 +55,7 @@ AC_TYPE_PID_T
 
 AC_HEADER_STDBOOL
 AC_CHECK_FUNCS([getpagesize stpcpy stpncpy])
+AC_CHECK_DECLS([stpcpy, stpncpy])
 
 AH_BOTTOM([
 #ifdef HAVE_STDBOOL_H
index df8c9430236ddc0946d28b542517bb5046a01930..7f2cc75338b8cfcd0fdac4198202d03a32577eec 100644 (file)
@@ -50,7 +50,7 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 
 /* Define replacements for required string functions.  */
 
-#ifndef HAVE_STPCPY
+#if !defined HAVE_STPCPY || !defined HAVE_DECL_STPCPY
 
 /* Copy SRC to DEST, returning the address of the terminating '\0' in
    DEST.  */
@@ -72,14 +72,14 @@ rpl_stpcpy (char *dest, const char *src)
 }
 
 #define stpcpy rpl_stpcpy
-#endif /* !HAVE_STPCPY */
+#endif /* !defined HAVE_STPCPY || !defined HAVE_DECL_STPCPY */
 
-#ifndef HAVE_STPNCPY
+#if !defined HAVE_STPNCPY || !defined HAVE_DECL_STPNCPY
 
 /* Copy no more than N bytes of SRC to DST, returning a pointer past
    the last non-NUL byte written into DST.  */
 
-char *
+static char *
 rpl_stpncpy (char *dest, const char *src, size_t n)
 {
   char c, *s;
@@ -140,7 +140,7 @@ rpl_stpncpy (char *dest, const char *src, size_t n)
 }
 
 #define stpncpy rpl_stpncpy
-#endif /* !HAVE_STPNCPY */
+#endif /* !defined HAVE_STPNCPY || !defined HAVE_DECL_STPNCPY */
 
 \f