[PATCH] Fix typo in strncat, wcsncat manual entries

Paul Eggert eggert@cs.ucla.edu
Fri Dec 4 23:33:00 GMT 2015


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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-typo-in-strncat-wcsncat-manual-entries.patch
Type: text/x-patch
Size: 1975 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20151204/09fb6e85/attachment.bin>


More information about the Libc-alpha mailing list