Hi Stephen,
On 1/7/22 17:46, Stephen Kitt wrote:
for (int j = 1, str1 = argv[1]; ...
declares two variables of type int, j and str1; the pre-existing
char * str1 isn't used. This causes compiler warnings. Declaring j
outside the loop fixes everything.
To enable automated source extraction, separate the text following the
code.
Signed-off-by: Stephen Kitt <steve@xxxxxxx>
Since these are two completely unrelated things, I'd prefer 2 patches.
If you resend this one without the subsection heading, I'll apply it.
Thanks,
Alex
---
man3/strtok.3 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/man3/strtok.3 b/man3/strtok.3
index aec914094..19d5d9204 100644
--- a/man3/strtok.3
+++ b/man3/strtok.3
@@ -255,6 +255,7 @@ main(int argc, char *argv[])
{
char *str1, *str2, *token, *subtoken;
char *saveptr1, *saveptr2;
+ int j;
if (argc != 4) {
fprintf(stderr, "Usage: %s string delim subdelim\en",
@@ -262,7 +263,7 @@ main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
- for (int j = 1, str1 = argv[1]; ; j++, str1 = NULL) {
+ for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {
token = strtok_r(str1, argv[2], &saveptr1);
if (token == NULL)
break;
@@ -280,6 +281,7 @@ main(int argc, char *argv[])
}
.EE
.PP
+.SS Further examples
Another example program using
.BR strtok ()
can be found in
--
Alejandro Colomar
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/