diff options
author | Doug MacEachern <dougm@apache.org> | 2001-06-19 20:40:28 +0000 |
---|---|---|
committer | Doug MacEachern <dougm@apache.org> | 2001-06-19 20:40:28 +0000 |
commit | 9d58735d112844787edeb6f42b5d25f47c2f10a6 (patch) | |
tree | cfda38e872170a8d976380bd024d1be274a7786f /strings | |
parent | 64b408c31f86b02565523cd4c1b15f49bd76593f (diff) | |
download | apr-9d58735d112844787edeb6f42b5d25f47c2f10a6.tar.gz |
apr_pstrcat() optimizations:
reuse calculated strlen() length
use memcpy instead of strcpy
PR:
Obtained from:
Submitted by: dougm
Reviewed by: jeff trawick, ryan bloom, bill stoddard
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@61783 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'strings')
-rw-r--r-- | strings/apr_strings.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/strings/apr_strings.c b/strings/apr_strings.c index ab52478c5..7dbbff14d 100644 --- a/strings/apr_strings.c +++ b/strings/apr_strings.c @@ -130,15 +130,16 @@ APR_DECLARE_NONSTD(char *) apr_pstrcat(apr_pool_t *a, ...) res = (char *) apr_palloc(a, len + 1); cp = res; - *cp = '\0'; + *(cp + len) = '\0'; /* Pass two --- copy the argument strings into the result space */ va_start(adummy, a); while ((argp = va_arg(adummy, char *)) != NULL) { - strcpy(cp, argp); - cp += strlen(argp); + len = strlen(argp); + memcpy(cp, argp, len); + cp += len; } va_end(adummy); |