summaryrefslogtreecommitdiff
path: root/gl/m4/ftello.m4
diff options
context:
space:
mode:
Diffstat (limited to 'gl/m4/ftello.m4')
-rw-r--r--gl/m4/ftello.m4140
1 files changed, 0 insertions, 140 deletions
diff --git a/gl/m4/ftello.m4 b/gl/m4/ftello.m4
deleted file mode 100644
index 0867c2a..0000000
--- a/gl/m4/ftello.m4
+++ /dev/null
@@ -1,140 +0,0 @@
-# ftello.m4 serial 11
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_FTELLO],
-[
- AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gl_STDIN_LARGE_OFFSET])
- AC_REQUIRE([gl_SYS_TYPES_H])
-
- dnl Persuade glibc <stdio.h> to declare ftello().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
- AC_CHECK_DECLS_ONCE([ftello])
- if test $ac_cv_have_decl_ftello = no; then
- HAVE_DECL_FTELLO=0
- fi
-
- AC_CACHE_CHECK([for ftello], [gl_cv_func_ftello],
- [
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stdio.h>]],
- [[ftello (stdin);]])],
- [gl_cv_func_ftello=yes],
- [gl_cv_func_ftello=no])
- ])
- if test $gl_cv_func_ftello = no; then
- HAVE_FTELLO=0
- else
- if test $WINDOWS_64_BIT_OFF_T = 1; then
- REPLACE_FTELLO=1
- fi
- if test $gl_cv_var_stdin_large_offset = no; then
- REPLACE_FTELLO=1
- fi
- if test $REPLACE_FTELLO = 0; then
- dnl Detect bug on Solaris.
- dnl ftell and ftello produce incorrect results after putc that followed a
- dnl getc call that reached EOF on Solaris. This is because the _IOREAD
- dnl flag does not get cleared in this case, even though _IOWRT gets set,
- dnl and ftell and ftello look whether the _IOREAD flag is set.
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CACHE_CHECK([whether ftello works],
- [gl_cv_func_ftello_works],
- [
- dnl Initial guess, used when cross-compiling or when /dev/tty cannot
- dnl be opened.
-changequote(,)dnl
- case "$host_os" in
- # Guess no on Solaris.
- solaris*) gl_cv_func_ftello_works="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_ftello_works="guessing yes" ;;
- esac
-changequote([,])dnl
- AC_RUN_IFELSE(
- [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#define TESTFILE "conftest.tmp"
-int
-main (void)
-{
- FILE *fp;
-
- /* Create a file with some contents. */
- fp = fopen (TESTFILE, "w");
- if (fp == NULL)
- return 70;
- if (fwrite ("foogarsh", 1, 8, fp) < 8)
- return 71;
- if (fclose (fp))
- return 72;
-
- /* The file's contents is now "foogarsh". */
-
- /* Try writing after reading to EOF. */
- fp = fopen (TESTFILE, "r+");
- if (fp == NULL)
- return 73;
- if (fseek (fp, -1, SEEK_END))
- return 74;
- if (!(getc (fp) == 'h'))
- return 1;
- if (!(getc (fp) == EOF))
- return 2;
- if (!(ftell (fp) == 8))
- return 3;
- if (!(ftell (fp) == 8))
- return 4;
- if (!(putc ('!', fp) == '!'))
- return 5;
- if (!(ftell (fp) == 9))
- return 6;
- if (!(fclose (fp) == 0))
- return 7;
- fp = fopen (TESTFILE, "r");
- if (fp == NULL)
- return 75;
- {
- char buf[10];
- if (!(fread (buf, 1, 10, fp) == 9))
- return 10;
- if (!(memcmp (buf, "foogarsh!", 9) == 0))
- return 11;
- }
- if (!(fclose (fp) == 0))
- return 12;
-
- /* The file's contents is now "foogarsh!". */
-
- return 0;
-}]])],
- [gl_cv_func_ftello_works=yes],
- [gl_cv_func_ftello_works=no], [:])
- ])
- case "$gl_cv_func_ftello_works" in
- *yes) ;;
- *)
- REPLACE_FTELLO=1
- AC_DEFINE([FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE], [1],
- [Define to 1 if the system's ftello function has the Solaris bug.])
- ;;
- esac
- fi
- fi
-])
-
-# Prerequisites of lib/ftello.c.
-AC_DEFUN([gl_PREREQ_FTELLO],
-[
- dnl Native Windows has the function _ftelli64. mingw hides it, but mingw64
- dnl makes it usable again.
- AC_CHECK_FUNCS([_ftelli64])
-])