diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-12-10 08:17:18 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-12-10 08:29:30 -0800 |
commit | 0a13c9e9defc771d8b101672f018b1b2de6b9e0e (patch) | |
tree | 5c55ceb3c7b77d29a52486bf71f0c9769a4ccde3 /manual/examples | |
parent | d4e301c5c65393837e438b6d81feabfbfde7b9c7 (diff) | |
download | glibc-0a13c9e9defc771d8b101672f018b1b2de6b9e0e.tar.gz glibc-0a13c9e9defc771d8b101672f018b1b2de6b9e0e.tar.xz glibc-0a13c9e9defc771d8b101672f018b1b2de6b9e0e.zip |
Split large string section; add truncation advice
* manual/examples/strncat.c: Remove. This example was misleading, as the code would have undefined behavior if "hello" was longer than SIZE. Anyway, the manual shouldn't encourage strncpy+strncat for this sort of thing. * manual/string.texi (Copying Strings and Arrays): Split into three sections Copying Strings and Arrays, Concatenating Strings, and Truncating Strings, as this section was way too long. All cross-referenced changed. Add advice about string-truncation functions. Remove misleading strncat example.
Diffstat (limited to 'manual/examples')
-rw-r--r-- | manual/examples/strncat.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/manual/examples/strncat.c b/manual/examples/strncat.c deleted file mode 100644 index 509be49c97..0000000000 --- a/manual/examples/strncat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* strncat example. - Copyright (C) 1991-2015 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, if not, see <http://www.gnu.org/licenses/>. -*/ - -#include <string.h> -#include <stdio.h> - -#define SIZE 10 - -static char buffer[SIZE]; - -int -main (void) -{ - strncpy (buffer, "hello", SIZE); - puts (buffer); - strncat (buffer, ", world", SIZE - strlen (buffer) - 1); - puts (buffer); -} |