about summary refs log tree commit diff
path: root/manual/examples
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-12-10 08:17:18 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2015-12-10 08:29:30 -0800
commit0a13c9e9defc771d8b101672f018b1b2de6b9e0e (patch)
tree5c55ceb3c7b77d29a52486bf71f0c9769a4ccde3 /manual/examples
parentd4e301c5c65393837e438b6d81feabfbfde7b9c7 (diff)
downloadglibc-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.c32
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);
-}