+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]
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
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