dougm 01/06/19 13:40:30 Modified: strings apr_strings.c . CHANGES Log: apr_pstrcat() optimizations: reuse calculated strlen() length use memcpy instead of strcpy Submitted by: dougm Reviewed by: jeff trawick, ryan bloom, bill stoddard Revision Changes Path 1.14 +4 -3 apr/strings/apr_strings.c Index: apr_strings.c =================================================================== RCS file: /home/cvs/apr/strings/apr_strings.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- apr_strings.c 2001/05/10 18:05:18 1.13 +++ apr_strings.c 2001/06/19 20:40:22 1.14 @@ -130,15 +130,16 @@ 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); 1.114 +1 -0 apr/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/apr/CHANGES,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- CHANGES 2001/06/13 16:10:15 1.113 +++ CHANGES 2001/06/19 20:40:28 1.114 @@ -1,4 +1,5 @@ Changes with APR b1 + *) apr_pstrcat() optimizations [Doug MacEachern, Jeff Trawick] *) Make the apr_pool_is_ancestor logic public. This is required for some new logic that is going into HTTPD. I have left the join logic