Project

General

Profile

Feature #6311 » patch4.diff

Glass_saga (Masaki Matsushita), 11/11/2012 02:46 PM

View differences:

configure.in
])])
fi
AC_CHECK_FUNC(memmem, [
AC_CACHE_CHECK(for broken memmem, rb_cv_broken_memmem, [
AC_TRY_RUN([
#include <string.h>
int
main()
{
char *str = "hogefugafoobar";
char *rs = "foo";
char *empty = "";
char *p;
p = memmem(str, strlen(str), rs, strlen(rs));
if (p == str+8) {
p = memmem(str, strlen(str), empty, strlen(empty));
if (p == str)
return 0;
else
return 1;
}
else {
return 1;
}
}
],
rb_cv_broken_memmem=no,
rb_cv_broken_memmem=yes,
rb_cv_broken_memmem=yes)
])
if test "$rb_cv_broken_memmem" = no; then
AC_DEFINE(HAVE_MEMMEM, 1)
fi
])
CPPFLAGS="$CPPFLAGS "'$(DEFS)'
test -z "$CPPFLAGS" || CPPFLAGS="$CPPFLAGS "; CPPFLAGS="$CPPFLAGS"'${cppflags}'
if test -n "${cflags+set}"; then
re.c
return memcmp(p1, p2, len);
}
#ifdef HAVE_MEMMEM
static inline long
rb_memsearch_ss(const unsigned char *xs, long m, const unsigned char *ys, long n)
{
const unsigned char *y;
if (y = memmem(ys, n, xs, m))
return y - ys;
else
return -1;
}
#else
static inline long
rb_memsearch_ss(const unsigned char *xs, long m, const unsigned char *ys, long n)
{
......
}
return y - ys - m;
}
#endif
static inline long
rb_memsearch_qs(const unsigned char *xs, long m, const unsigned char *ys, long n)
(4-4/6)