aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--string/strncat.c6
2 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f73c55e..40e294b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
+ * string/strncat.c (strncat): Improve performance by using strlen.
+
+2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
+
* string/strcat.c (strcat): Improve performance by using strlen/strcpy.
2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
diff --git a/string/strncat.c b/string/strncat.c
index 7ac4456..6d29114 100644
--- a/string/strncat.c
+++ b/string/strncat.c
@@ -33,13 +33,11 @@ STRNCAT (char *s1, const char *s2, size_t n)
char *s = s1;
/* Find the end of S1. */
- do
- c = *s1++;
- while (c != '\0');
+ s1 += strlen (s1);
/* Make S1 point before next character, so we can increment
it while memory is read (wins on pipelined cpus). */
- s1 -= 2;
+ s1 -= 1;
if (n >= 4)
{