bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: strstr


From: Bruno Haible
Subject: Re: strstr
Date: Thu, 18 Jun 2009 10:19:38 +0200
User-agent: KMail/1.9.9

In strstr.m4 as well, the linear time check can be skipped if the function
is going to be overridden anyway.


2009-06-18  Bruno Haible  <address@hidden>

        * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
        going to be replaced anyway.

--- m4/strstr.m4.orig   2009-06-18 10:17:00.000000000 +0200
+++ m4/strstr.m4        2009-06-18 10:04:18.000000000 +0200
@@ -19,9 +19,10 @@
 AC_DEFUN([gl_FUNC_STRSTR],
 [
   AC_REQUIRE([gl_FUNC_STRSTR_SIMPLE])
-  AC_CACHE_CHECK([whether strstr works in linear time],
-    [gl_cv_func_strstr_linear],
-    [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+  if test $REPLACE_STRSTR = 0; then
+    AC_CACHE_CHECK([whether strstr works in linear time],
+      [gl_cv_func_strstr_linear],
+      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
 #include <signal.h> /* for signal */
 #include <string.h> /* for memmem */
 #include <stdlib.h> /* for malloc */
@@ -46,11 +47,11 @@
        result = strstr (haystack, needle);
       }
     return !result;]])],
-      [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no],
-      [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a
-       dnl strstr that works in linear time.
-       AC_EGREP_CPP([Lucky user],
-        [
+        [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no],
+        [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a
+         dnl strstr that works in linear time.
+         AC_EGREP_CPP([Lucky user],
+           [
 #include <features.h>
 #ifdef __GNU_LIBRARY__
  #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2)
@@ -63,13 +64,14 @@
   Lucky user
  #endif
 #endif
-        ],
-        [gl_cv_func_strstr_linear=yes],
-        [gl_cv_func_strstr_linear="guessing no"])
+           ],
+           [gl_cv_func_strstr_linear=yes],
+           [gl_cv_func_strstr_linear="guessing no"])
+        ])
       ])
-    ])
-  if test "$gl_cv_func_strstr_linear" != yes; then
-    REPLACE_STRSTR=1
-    AC_LIBOBJ([strstr])
+    if test "$gl_cv_func_strstr_linear" != yes; then
+      REPLACE_STRSTR=1
+      AC_LIBOBJ([strstr])
+    fi
   fi
 ]) # gl_FUNC_STRSTR




reply via email to

[Prev in Thread] Current Thread [Next in Thread]