提交 35c16933 编写于 作者: R Rich Felker

remove buggy short-string wcsstr implementation; always use twoway

since this interface is rarely used, it's probably best to lean
towards keeping code size down anyway. one-character needles will
still be found immediately by the initial wcschr call anyway.
上级 61718273
...@@ -3,14 +3,6 @@ ...@@ -3,14 +3,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
static wchar_t *naive_wcsstr(const wchar_t *h, const wchar_t *n)
{
size_t i;
for (i=0; n[i] && h[i]; i++)
for ( ; n[i] != h[i]; h++, i=0);
return n[i] ? 0 : (wchar_t *)h;
}
#define MAX(a,b) ((a)>(b)?(a):(b)) #define MAX(a,b) ((a)>(b)?(a):(b))
#define MIN(a,b) ((a)<(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b))
...@@ -111,7 +103,6 @@ wchar_t *wcsstr(const wchar_t *h, const wchar_t *n) ...@@ -111,7 +103,6 @@ wchar_t *wcsstr(const wchar_t *h, const wchar_t *n)
h = wcschr(h, *n); h = wcschr(h, *n);
if (!h || !n[1]) return (wchar_t *)h; if (!h || !n[1]) return (wchar_t *)h;
if (!h[1]) return 0; if (!h[1]) return 0;
if (!n[2] || !n[3] || !n[4]) return naive_wcsstr(h, n);
return twoway_wcsstr(h, n); return twoway_wcsstr(h, n);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册