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:
parent
6a35ae33f5
commit
c2fe205b50
|
@ -195,7 +195,7 @@ critical_factorization (const unsigned char *needle, size_t needle_len,
|
||||||
most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching.
|
most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching.
|
||||||
If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 *
|
If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 *
|
||||||
HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */
|
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,
|
two_way_short_needle (const unsigned char *haystack, size_t haystack_len,
|
||||||
const unsigned char *needle, size_t needle_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 *
|
If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 *
|
||||||
HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and
|
HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and
|
||||||
sublinear performance is not possible. */
|
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,
|
two_way_long_needle (const unsigned char *haystack, size_t haystack_len,
|
||||||
const unsigned char *needle, size_t needle_len)
|
const unsigned char *needle, size_t needle_len)
|
||||||
{
|
{
|
||||||
|
|
|
@ -90,7 +90,7 @@ strstr (const char *hs, const char *ne)
|
||||||
|
|
||||||
# define RETURN_TYPE char *
|
# define RETURN_TYPE char *
|
||||||
# define AVAILABLE(h, h_l, j, n_l) (((j) <= (h_l) - (n_l)) \
|
# 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"
|
# include "str-two-way.h"
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ strstr (const char *haystack, const char *needle)
|
||||||
if (ne[0] == '\0')
|
if (ne[0] == '\0')
|
||||||
return (char *) hs;
|
return (char *) hs;
|
||||||
if (ne[1] == '\0')
|
if (ne[1] == '\0')
|
||||||
return (char*)strchr (hs, ne[0]);
|
return (char*)strchr ((const char *) hs, ne[0]);
|
||||||
if (ne[2] == '\0')
|
if (ne[2] == '\0')
|
||||||
return strstr2 (hs, ne);
|
return strstr2 (hs, ne);
|
||||||
if (ne[3] == '\0')
|
if (ne[3] == '\0')
|
||||||
|
@ -159,8 +159,8 @@ strstr (const char *haystack, const char *needle)
|
||||||
if (ne[4] == '\0')
|
if (ne[4] == '\0')
|
||||||
return strstr4 (hs, ne);
|
return strstr4 (hs, ne);
|
||||||
|
|
||||||
size_t ne_len = strlen (ne);
|
size_t ne_len = strlen ((const char *) ne);
|
||||||
size_t hs_len = strnlen (hs, ne_len | 512);
|
size_t hs_len = strnlen ((const char *) hs, ne_len | 512);
|
||||||
|
|
||||||
/* Ensure haystack length is >= needle length. */
|
/* Ensure haystack length is >= needle length. */
|
||||||
if (hs_len < ne_len)
|
if (hs_len < ne_len)
|
||||||
|
@ -191,7 +191,7 @@ strstr (const char *haystack, const char *needle)
|
||||||
}
|
}
|
||||||
if (end[ne_len] == 0)
|
if (end[ne_len] == 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
end += strnlen (end + ne_len, 2048);
|
end += strnlen ((const char *) (end + ne_len), 2048);
|
||||||
}
|
}
|
||||||
while (hs <= end);
|
while (hs <= end);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue