Jim Meyering wrote: > This one is trivial and seems uncontroversial. > Pushed.
Yes. Thanks. The gcc option that triggers this is "-Wwrite-strings". And it triggers some more warnings. I'm fixing these through the patch below. test-argp.c:380: warning: passing argument 5 of 'test_optional' discards qualifiers from pointer target type test-argp.c:387: warning: passing argument 6 of 'test_optional' discards qualifiers from pointer target type test-argp.c:394: warning: passing argument 5 of 'test_optional' discards qualifiers from pointer target type test-argp.c:401: warning: passing argument 6 of 'test_optional' discards qualifiers from pointer target type test-argp.c:408: warning: passing argument 5 of 'test_optional' discards qualifiers from pointer target type test-argp.c:415: warning: passing argument 5 of 'test_optional' discards qualifiers from pointer target type test-argp.c:415: warning: passing argument 6 of 'test_optional' discards qualifiers from pointer target type test-c-strcasestr.c:69: warning: initialization discards qualifiers from pointer target type test-c-strcasestr.c:93: warning: initialization discards qualifiers from pointer target type test-c-strstr.c:62: warning: initialization discards qualifiers from pointer target type test-c-strstr.c:86: warning: initialization discards qualifiers from pointer target type test-mbscasestr1.c:64: warning: initialization discards qualifiers from pointer target type test-mbscasestr1.c:88: warning: initialization discards qualifiers from pointer target type test-mbscasestr2.c:72: warning: initialization discards qualifiers from pointer target type test-mbscasestr2.c:100: warning: initialization discards qualifiers from pointer target type test-memmem.c:99: warning: initialization discards qualifiers from pointer target type test-memmem.c:123: warning: initialization discards qualifiers from pointer target type test-strcasestr.c:82: warning: initialization discards qualifiers from pointer target type test-strcasestr.c:106: warning: initialization discards qualifiers from pointer target type test-strstr.c:101: warning: initialization discards qualifiers from pointer target type test-strstr.c:125: warning: initialization discards qualifiers from pointer target type The following warnings are in Simon's domain. test-gc-hmac-md5.c:42: warning: initialization discards qualifiers from pointer target type test-gc-hmac-md5.c:44: warning: initialization discards qualifiers from pointer target type test-gc-hmac-md5.c:47: warning: initialization discards qualifiers from pointer target type test-gc-hmac-sha1.c:40: warning: initialization discards qualifiers from pointer target type test-gc-hmac-sha1.c:42: warning: initialization discards qualifiers from pointer target type test-gc-hmac-sha1.c:46: warning: initialization discards qualifiers from pointer target type test-gc-md2.c:42: warning: initialization discards qualifiers from pointer target type test-gc-md2.c:45: warning: initialization discards qualifiers from pointer target type test-gc-md5.c:42: warning: initialization discards qualifiers from pointer target type test-gc-md5.c:45: warning: initialization discards qualifiers from pointer target type test-gc-sha1.c:40: warning: initialization discards qualifiers from pointer target type test-gc-sha1.c:43: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:39: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:41: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:44: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:74: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:76: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:79: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:115: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:120: warning: initialization discards qualifiers from pointer target type test-hmac-md5.c:123: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:30: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:32: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:35: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:59: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:61: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:64: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:89: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:94: warning: initialization discards qualifiers from pointer target type test-hmac-sha1.c:97: warning: initialization discards qualifiers from pointer target type 2010-06-11 Bruno Haible <br...@clisp.org> Avoid some more warnings from "gcc -Wwrite-strings". * tests/test-argp.c (test_optional): Change 5th and 6th argument type to 'const char *'. * tests/test-c-strstr.c (main): Add 'const' to variable declaration. * tests/test-c-strcasestr.c (main): Likewise. * tests/test-mbscasestr1.c (main): Likewise. * tests/test-mbscasestr2.c (main): Likewise. * tests/test-memmem.c (main): Likewise. * tests/test-strstr.c (main): Likewise. * tests/test-strcasestr.c (main): Likewise. --- tests/test-argp.c.orig Fri Jun 11 21:12:58 2010 +++ tests/test-argp.c Fri Jun 11 21:03:52 2010 @@ -348,7 +348,7 @@ void test_optional (struct argp *argp, int argc, char **argv, - struct test_args *args, char *val, char *a) + struct test_args *args, const char *val, const char *a) { int index; if (argp_parse (argp, argc, argv, 0, &index, args)) --- tests/test-c-strcasestr.c.orig Fri Jun 11 21:12:58 2010 +++ tests/test-c-strcasestr.c Fri Jun 11 21:05:13 2010 @@ -63,7 +63,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaAAAAaaaaaaa" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; @@ -88,7 +88,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; char *needle = (char *) malloc (m + 1); --- tests/test-c-strstr.c.orig Fri Jun 11 21:12:58 2010 +++ tests/test-c-strstr.c Fri Jun 11 21:05:59 2010 @@ -57,7 +57,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; char *haystack = (char *) malloc (m + 1); @@ -81,7 +81,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; char *needle = (char *) malloc (m + 1); --- tests/test-mbscasestr1.c.orig Fri Jun 11 21:12:58 2010 +++ tests/test-mbscasestr1.c Fri Jun 11 21:08:08 2010 @@ -58,7 +58,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaAAAAaaaaaaa" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; @@ -83,7 +83,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; char *needle = (char *) malloc (m + 1); --- tests/test-mbscasestr2.c.orig Fri Jun 11 21:12:59 2010 +++ tests/test-mbscasestr2.c Fri Jun 11 21:08:27 2010 @@ -67,7 +67,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; char *haystack = (char *) malloc (m + 1); @@ -91,7 +91,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207" "A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207A\303\207" --- tests/test-memmem.c.orig Fri Jun 11 21:12:59 2010 +++ tests/test-memmem.c Fri Jun 11 21:08:51 2010 @@ -94,7 +94,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; size_t n = strlen (needle); @@ -118,7 +118,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; size_t n = strlen (haystack); --- tests/test-strcasestr.c.orig Fri Jun 11 21:12:59 2010 +++ tests/test-strcasestr.c Fri Jun 11 21:09:34 2010 @@ -1,5 +1,5 @@ /* Test of case-insensitive searching in a string. - Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2007-2010 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 @@ -76,7 +76,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaAAAAaaaaaaa" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; @@ -101,7 +101,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; char *needle = (char *) malloc (m + 1); --- tests/test-strstr.c.orig Fri Jun 11 21:12:59 2010 +++ tests/test-strstr.c Fri Jun 11 21:10:04 2010 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + * Copyright (C) 2004, 2007-2010 Free Software Foundation, Inc. * Written by Bruno Haible and Eric Blake * * This program is free software: you can redistribute it and/or modify @@ -96,7 +96,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *needle = + const char *needle = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; char *haystack = (char *) malloc (m + 1); @@ -120,7 +120,7 @@ { size_t repeat = 10000; size_t m = 1000000; - char *haystack = + const char *haystack = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB"; char *needle = (char *) malloc (m + 1);