diff options
Diffstat (limited to 'm4/strtok_r.m4')
-rw-r--r-- | m4/strtok_r.m4 | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/m4/strtok_r.m4 b/m4/strtok_r.m4 deleted file mode 100644 index 3f8a26fe7..000000000 --- a/m4/strtok_r.m4 +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | # strtok_r.m4 serial 12 | ||
2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation, | ||
3 | dnl Inc. | ||
4 | dnl This file is free software; the Free Software Foundation | ||
5 | dnl gives unlimited permission to copy and/or distribute it, | ||
6 | dnl with or without modifications, as long as this notice is preserved. | ||
7 | |||
8 | AC_DEFUN([gl_FUNC_STRTOK_R], | ||
9 | [ | ||
10 | dnl The strtok_r() declaration in lib/string.in.h uses 'restrict'. | ||
11 | AC_REQUIRE([AC_C_RESTRICT]) | ||
12 | |||
13 | AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) | ||
14 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | ||
15 | AC_CHECK_FUNCS([strtok_r]) | ||
16 | if test $ac_cv_func_strtok_r = yes; then | ||
17 | dnl glibc 2.7 has a bug in strtok_r that causes a segmentation fault | ||
18 | dnl when the second argument to strtok_r is a constant string that has | ||
19 | dnl exactly one byte and compiling with optimization. This bug is, for | ||
20 | dnl example, present in the glibc 2.7-18 package in Debian "lenny". | ||
21 | dnl See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=5614>. | ||
22 | AC_CACHE_CHECK([whether strtok_r works], [gl_cv_func_strtok_r_works], | ||
23 | [AC_RUN_IFELSE( | ||
24 | [AC_LANG_PROGRAM([[ | ||
25 | #ifndef __OPTIMIZE__ | ||
26 | # define __OPTIMIZE__ 1 | ||
27 | #endif | ||
28 | #undef __OPTIMIZE_SIZE__ | ||
29 | #undef __NO_INLINE__ | ||
30 | #include <stdlib.h> | ||
31 | #include <string.h> | ||
32 | ]], | ||
33 | [[static const char dummy[] = "\177\01a"; | ||
34 | char delimiters[] = "xxxxxxxx"; | ||
35 | char *save_ptr = (char *) dummy; | ||
36 | strtok_r (delimiters, "x", &save_ptr); | ||
37 | strtok_r (NULL, "x", &save_ptr); | ||
38 | return 0; | ||
39 | ]]) | ||
40 | ], | ||
41 | [gl_cv_func_strtok_r_works=yes], | ||
42 | [gl_cv_func_strtok_r_works=no], | ||
43 | [ | ||
44 | changequote(,)dnl | ||
45 | case "$host_os" in | ||
46 | # Guess no on glibc systems. | ||
47 | *-gnu*) gl_cv_func_strtok_r_works="guessing no";; | ||
48 | *) gl_cv_func_strtok_r_works="guessing yes";; | ||
49 | esac | ||
50 | changequote([,])dnl | ||
51 | ]) | ||
52 | ]) | ||
53 | case "$gl_cv_func_strtok_r_works" in | ||
54 | *no) | ||
55 | dnl We could set REPLACE_STRTOK_R=1 and AC_LIBOBJ([strtok_r]) here, | ||
56 | dnl but it's only the macro version in <bits/string2.h> which is wrong. | ||
57 | dnl The code compiled into libc is fine. | ||
58 | UNDEFINE_STRTOK_R=1 | ||
59 | ;; | ||
60 | esac | ||
61 | else | ||
62 | AC_LIBOBJ([strtok_r]) | ||
63 | gl_PREREQ_STRTOK_R | ||
64 | fi | ||
65 | AC_CHECK_DECLS_ONCE([strtok_r]) | ||
66 | if test $ac_cv_have_decl_strtok_r = no; then | ||
67 | HAVE_DECL_STRTOK_R=0 | ||
68 | fi | ||
69 | ]) | ||
70 | |||
71 | # Prerequisites of lib/strtok_r.c. | ||
72 | AC_DEFUN([gl_PREREQ_STRTOK_R], [ | ||
73 | : | ||
74 | ]) | ||