From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 2C38E385840F; Fri, 3 Sep 2021 10:52:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C38E385840F Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] strstr: avoid warnings X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: 6a35ae33f5c76f0cda6466fb4b426ff37ed534a1 X-Git-Newrev: c2fe205b508c32117d2d0f132953d096254d5a7b Message-Id: <20210903105258.2C38E385840F@sourceware.org> Date: Fri, 3 Sep 2021 10:52:58 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2021 10:52:58 -0000 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c2fe205b508c32117d2d0f132953d096254d5a7b commit c2fe205b508c32117d2d0f132953d096254d5a7b Author: Corinna Vinschen Date: Fri Sep 3 12:51:30 2021 +0200 strstr: avoid warnings unused function warning for two_way_short_needle, different char type warnings for standard string functions Signed-off-by: Corinna Vinschen Diff: --- newlib/libc/string/str-two-way.h | 4 ++-- newlib/libc/string/strstr.c | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/newlib/libc/string/str-two-way.h b/newlib/libc/string/str-two-way.h index 90345a8de..e13f94907 100644 --- a/newlib/libc/string/str-two-way.h +++ b/newlib/libc/string/str-two-way.h @@ -195,7 +195,7 @@ critical_factorization (const unsigned char *needle, size_t needle_len, most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */ -static RETURN_TYPE +static RETURN_TYPE __attribute__ ((__used__)) two_way_short_needle (const unsigned char *haystack, size_t haystack_len, const unsigned char *needle, size_t needle_len) { @@ -289,7 +289,7 @@ two_way_short_needle (const unsigned char *haystack, size_t haystack_len, If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and sublinear performance is not possible. */ -_NOINLINE_STATIC RETURN_TYPE +_NOINLINE_STATIC RETURN_TYPE __attribute__ ((__used__)) two_way_long_needle (const unsigned char *haystack, size_t haystack_len, const unsigned char *needle, size_t needle_len) { diff --git a/newlib/libc/string/strstr.c b/newlib/libc/string/strstr.c index 00fe060e9..84e4632f1 100644 --- a/newlib/libc/string/strstr.c +++ b/newlib/libc/string/strstr.c @@ -90,7 +90,7 @@ strstr (const char *hs, const char *ne) # define RETURN_TYPE char * # define AVAILABLE(h, h_l, j, n_l) (((j) <= (h_l) - (n_l)) \ - || ((h_l) += strnlen ((h) + (h_l), (n_l) | 2048), ((j) <= (h_l) - (n_l)))) + || ((h_l) += strnlen ((const char *) (h) + (h_l), (n_l) | 2048), ((j) <= (h_l) - (n_l)))) # include "str-two-way.h" @@ -151,7 +151,7 @@ strstr (const char *haystack, const char *needle) if (ne[0] == '\0') return (char *) hs; if (ne[1] == '\0') - return (char*)strchr (hs, ne[0]); + return (char*)strchr ((const char *) hs, ne[0]); if (ne[2] == '\0') return strstr2 (hs, ne); if (ne[3] == '\0') @@ -159,8 +159,8 @@ strstr (const char *haystack, const char *needle) if (ne[4] == '\0') return strstr4 (hs, ne); - size_t ne_len = strlen (ne); - size_t hs_len = strnlen (hs, ne_len | 512); + size_t ne_len = strlen ((const char *) ne); + size_t hs_len = strnlen ((const char *) hs, ne_len | 512); /* Ensure haystack length is >= needle length. */ if (hs_len < ne_len) @@ -191,7 +191,7 @@ strstr (const char *haystack, const char *needle) } if (end[ne_len] == 0) return NULL; - end += strnlen (end + ne_len, 2048); + end += strnlen ((const char *) (end + ne_len), 2048); } while (hs <= end);