This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Fix typo in strncat, wcsncat manual entries
- From: Paul Eggert <eggert at cs dot ucla dot edu>
- To: GNU C Library development <libc-alpha at sourceware dot org>
- Date: Fri, 4 Dec 2015 15:33:01 -0800
- Subject: [PATCH] Fix typo in strncat, wcsncat manual entries
- Authentication-results: sourceware.org; auth=none
Committed as obvious.
diff --git a/ChangeLog b/ChangeLog
index edd7ccf..379ba75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-12-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix typo in strncat, wcsncat manual entries
+ * manual/string.texi (Copying and Concatenation): Fix typos in
+ sample implementations of strncat and wcsncat, by having them use
+ the old value of the destination length, not the new one.
+
2015-12-04 Joseph Myers <joseph@codesourcery.com>
[BZ #16961]
diff --git a/manual/string.texi b/manual/string.texi
index 4f276a9..8f0f5fa 100644
--- a/manual/string.texi
+++ b/manual/string.texi
@@ -996,8 +996,9 @@ The @code{strncat} function could be implemented
like this:
char *
strncat (char *to, const char *from, size_t size)
@{
- memcpy (to + strlen (to), from, strnlen (from, size));
- to[strlen (to) + strnlen (from, size)] = '\0';
+ size_t len = strlen (to);
+ memcpy (to + len, from, strnlen (from, size));
+ to[len + strnlen (from, size)] = '\0';
return to;
@}
@end group
@@ -1025,8 +1026,9 @@ wchar_t *
wcsncat (wchar_t *restrict wto, const wchar_t *restrict wfrom,
size_t size)
@{
- memcpy (wto + wcslen (wto), wfrom, wcsnlen (wfrom, size) * sizeof
(wchar_t));
- wto[wcslen (to) + wcsnlen (wfrom, size)] = '\0';
+ size_t len = wcslen (wto);
+ memcpy (wto + len, wfrom, wcsnlen (wfrom, size) * sizeof (wchar_t));
+ wto[len + wcsnlen (wfrom, size)] = L'\0';
return wto;
@}
@end group
--
2.1.0
>From 42b44bde21c234229a145b2d70c11466513c178e Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 4 Dec 2015 15:23:18 -0800
Subject: [PATCH] Fix typo in strncat, wcsncat manual entries
* manual/string.texi (Copying and Concatenation): Fix typos in
sample implementations of strncat and wcsncat, by having them use
the old value of the destination length, not the new one.
---
ChangeLog | 7 +++++++
manual/string.texi | 10 ++++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index edd7ccf..379ba75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-12-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix typo in strncat, wcsncat manual entries
+ * manual/string.texi (Copying and Concatenation): Fix typos in
+ sample implementations of strncat and wcsncat, by having them use
+ the old value of the destination length, not the new one.
+
2015-12-04 Joseph Myers <joseph@codesourcery.com>
[BZ #16961]
diff --git a/manual/string.texi b/manual/string.texi
index 4f276a9..8f0f5fa 100644
--- a/manual/string.texi
+++ b/manual/string.texi
@@ -996,8 +996,9 @@ The @code{strncat} function could be implemented like this:
char *
strncat (char *to, const char *from, size_t size)
@{
- memcpy (to + strlen (to), from, strnlen (from, size));
- to[strlen (to) + strnlen (from, size)] = '\0';
+ size_t len = strlen (to);
+ memcpy (to + len, from, strnlen (from, size));
+ to[len + strnlen (from, size)] = '\0';
return to;
@}
@end group
@@ -1025,8 +1026,9 @@ wchar_t *
wcsncat (wchar_t *restrict wto, const wchar_t *restrict wfrom,
size_t size)
@{
- memcpy (wto + wcslen (wto), wfrom, wcsnlen (wfrom, size) * sizeof (wchar_t));
- wto[wcslen (to) + wcsnlen (wfrom, size)] = '\0';
+ size_t len = wcslen (wto);
+ memcpy (wto + len, wfrom, wcsnlen (wfrom, size) * sizeof (wchar_t));
+ wto[len + wcsnlen (wfrom, size)] = L'\0';
return wto;
@}
@end group
--
2.1.0