diff options
author | Paul Smith <psmith@gnu.org> | 2022-07-09 13:26:30 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2022-07-30 18:40:21 -0400 |
commit | 2fe96e4a410c346483a20376e58c40e63887d652 (patch) | |
tree | 717a2f61cedcebab86b070fb1fb8c743069d8387 /src/function.c | |
parent | dd24a4c1cfa7b6928ddb2bcd00a023f23aaaf440 (diff) | |
download | make-git-2fe96e4a410c346483a20376e58c40e63887d652.tar.gz |
Take advantage of mempcpy() and stpcpy()
* src/makeint.h (stpcpy): Add missing declaration.
* src/amiga.c (MyExecute): Avoid extra strlen using stpcpy.
* src/function.c (func_shell_base): Ditto.
(func_error): Use memcpy() not strcpy() when we know the length.
* src/job.c (construct_command_argv_internal): Use stpcpy().
* src/main.c (main): Ditto.
(define_makeflags): Ditto.
* src/variable.c (print_target_variables): Use memcpy() when we know
the length.
* src/commands.c (set_file_variables): Use mempcpy().
* src/expand.c (variable_buffer_output): Ditto.
* src/file.c (expand_deps): Ditto.
* src/function.c (abspath): Ditto.
(handle_function): Ditto.
* src/implicit.c (pattern_search): Ditto.
* src/job.c (construct_command_argv_internal): Use mempcpy() and
don't add multiple spaces when there are no shell flags.
* src/main.c (decode_env_switches): Use mempcpy() to simplify.
(define_makeflags): Ditto.
* src/variable.c (selective_vpath_search): Ditto.
Diffstat (limited to 'src/function.c')
-rw-r--r-- | src/function.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/function.c b/src/function.c index 9247fc3f..1f490fa2 100644 --- a/src/function.c +++ b/src/function.c @@ -1185,7 +1185,7 @@ func_error (char *o, char **argv, const char *funcname) { size_t len = strlen (argv[0]); char *msg = alloca (len + 2); - strcpy (msg, argv[0]); + memcpy (msg, argv[0], len); msg[len] = '\n'; msg[len + 1] = '\0'; outputs (0, msg); @@ -2060,8 +2060,8 @@ func_shell_base (char *o, char **argv, int trim_newlines) { strcpy (ptr, *aptr); ptr += strlen (ptr) + 1; - *ptr ++ = ' '; - *ptr = 0; + *(ptr++) = ' '; + *ptr = '\0'; } ptr[-1] = '\n'; @@ -2249,8 +2249,7 @@ abspath (const char *name, char *apath) if (dest + len >= apath_limit) return NULL; - dest = memcpy (dest, start, len); - dest += len; + dest = mempcpy (dest, start, len); *dest = '\0'; } } @@ -2646,9 +2645,8 @@ handle_function (char **op, const char **stringp) char *p, *aend; abeg = xmalloc (len+1); - memcpy (abeg, beg, len); - abeg[len] = '\0'; - aend = abeg + len; + aend = mempcpy (abeg, beg, len); + *aend = '\0'; for (p=abeg, nargs=0; p <= aend; ++argvp) { |