summaryrefslogtreecommitdiff
path: root/exec
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2024-03-14 14:21:49 +0800
committerPo Lu <luangruo@yahoo.com>2024-03-14 14:21:49 +0800
commit1b94f800ae34de5f4e72682a81de1d42bdda9276 (patch)
tree995b18082db13a1a7e6515195a9086dc12c8fcb0 /exec
parent30bc867aecc59265b6e315acf459f8d79c423bca (diff)
downloademacs-1b94f800ae34de5f4e72682a81de1d42bdda9276.tar.gz
* exec/trace.c (rpl_stpcpy): Replace stpcpy if absent.
Diffstat (limited to 'exec')
-rw-r--r--exec/trace.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/exec/trace.c b/exec/trace.c
index 64dadc092c2..05d862f5b9f 100644
--- a/exec/trace.c
+++ b/exec/trace.c
@@ -895,6 +895,36 @@ handle_exec (struct exec_tracee *tracee, USER_REGS_STRUCT *regs)
return 3;
}
+
+
+/* Define replacements for required string functions. */
+
+#if !defined HAVE_STPCPY || !defined HAVE_DECL_STPCPY
+
+/* Copy SRC to DEST, returning the address of the terminating '\0' in
+ DEST. */
+
+static char *
+rpl_stpcpy (char *dest, const char *src)
+{
+ register char *d;
+ register const char *s;
+
+ d = dest;
+ s = src;
+
+ do
+ *d++ = *s;
+ while (*s++ != '\0');
+
+ return d - 1;
+}
+
+#define stpcpy rpl_stpcpy
+#endif /* !defined HAVE_STPCPY || !defined HAVE_DECL_STPCPY */
+
+
+
/* Modify BUFFER, of size SIZE, so that it holds the absolute name of
the file identified by BUFFER, relative to the current working
directory of TRACEE if FD be AT_FDCWD, or the file referenced by FD