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>
This commit is contained in:
Corinna Vinschen 2021-09-03 12:51:30 +02:00
parent 6a35ae33f5
commit c2fe205b50
2 changed files with 7 additions and 7 deletions

View File

@ -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)
{

View File

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