public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] strstr: avoid warnings
@ 2021-09-03 10:52 Corinna Vinschen
  0 siblings, 0 replies; only message in thread
From: Corinna Vinschen @ 2021-09-03 10:52 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c2fe205b508c32117d2d0f132953d096254d5a7b

commit c2fe205b508c32117d2d0f132953d096254d5a7b
Author: Corinna Vinschen <corinna@vinschen.de>
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 <corinna@vinschen.de>

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);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-03 10:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-03 10:52 [newlib-cygwin] strstr: avoid warnings Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).