diff options
author | Anatol Belski <ab@php.net> | 2014-04-15 10:26:49 -0700 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2014-04-15 10:26:49 -0700 |
commit | aaf197180a47d3fe9dfc8a25acdf89c0a7bca059 (patch) | |
tree | afda7b2870aa7e8553e8156bd2a2d33ed091f5a5 /ext/fileinfo/config.m4 | |
parent | bfbb409b32493d7510a943c1201caa89484a0f65 (diff) | |
download | php-git-aaf197180a47d3fe9dfc8a25acdf89c0a7bca059.tar.gz |
Fixed bug #66907 Solaris 10 is missing strcasestr and needs substitute
Diffstat (limited to 'ext/fileinfo/config.m4')
-rw-r--r-- | ext/fileinfo/config.m4 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 index 4f34041259..a11dbf8dac 100644 --- a/ext/fileinfo/config.m4 +++ b/ext/fileinfo/config.m4 @@ -13,6 +13,41 @@ if test "$PHP_FILEINFO" != "no"; then libmagic/is_tar.c libmagic/magic.c libmagic/print.c \ libmagic/readcdf.c libmagic/readelf.c libmagic/softmagic.c" + AC_MSG_CHECKING([for strcasestr]) + AC_TRY_RUN([ +#include <string.h> +#include <strings.h> +#include <stdlib.h> + +int main(void) +{ + char *s0, *s1, *ret; + + s0 = (char *) malloc(42); + s1 = (char *) malloc(8); + + memset(s0, 'X', 42); + s0[24] = 'Y'; + s0[26] = 'Z'; + s0[41] = '\0'; + memset(s1, 'x', 8); + s1[0] = 'y'; + s1[2] = 'Z'; + s1[7] = '\0'; + + ret = strcasestr(s0, s1); + + return !(NULL != ret); +} + ],[ + dnl using the platform implementation + AC_MSG_RESULT(yes) + ],[ + AC_MSG_RESULT(no) + AC_MSG_NOTICE(using libmagic strcasestr implementation) + libmagic_sources="$libmagic_sources libmagic/strcasestr.c" + ]) + PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic) PHP_ADD_BUILD_DIR($ext_builddir/libmagic) |