From: Bdale Garbee Date: Fri, 15 Jul 2011 20:05:33 +0000 (-0600) Subject: apparently we now want the checked out tree to be the patched tree? X-Git-Tag: debian/1.4-1~7 X-Git-Url: https://git.gag.com/?p=debian%2Fgzip;a=commitdiff_plain;h=ab2dee7101e75806a54d954f726bcb5b969f1ab7 apparently we now want the checked out tree to be the patched tree? --- diff --git a/configure.ac b/configure.ac index 818dbd9..0919132 100644 --- a/configure.ac +++ b/configure.ac @@ -129,6 +129,12 @@ if test "$gl_gcc_warnings" = yes; then AC_SUBST([GNULIB_WARN_CFLAGS]) fi +gl_FUNC_GETDTABLESIZE +if test $HAVE_GETDTABLESIZE = 0; then + AC_LIBOBJ([getdtablesize]) +fi +gl_UNISTD_MODULE_INDICATOR([getdtablesize]) + # cc -E produces incorrect asm files on SVR4, so postprocess it. ASCPPPOST="sed '/^ *#/d; s,//.*,,; s/% /%/g; s/\\. /./g'" AC_SUBST([ASCPPPOST]) diff --git a/debian/patches/series b/debian/patches/series index f008915..6015402 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1 @@ -getdtablesize-missing.diff zless-LESSOPEN.diff diff --git a/lib/getdtablesize.c b/lib/getdtablesize.c new file mode 100644 index 0000000..60e7f5a --- /dev/null +++ b/lib/getdtablesize.c @@ -0,0 +1,63 @@ +/* getdtablesize() function for platforms that don't have it. + Copyright (C) 2008-2011 Free Software Foundation, Inc. + Written by Bruno Haible , 2008. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + +#include + +/* Cache for the previous getdtablesize () result. */ +static int dtablesize; + +int +getdtablesize (void) +{ + if (dtablesize == 0) + { + /* We are looking for the number N such that the valid file descriptors + are 0..N-1. It can be obtained through a loop as follows: + { + int fd; + for (fd = 3; fd < 65536; fd++) + if (dup2 (0, fd) == -1) + break; + return fd; + } + On Windows XP, the result is 2048. + The drawback of this loop is that it allocates memory for a libc + internal array that is never freed. + + The number N can also be obtained as the upper bound for + _getmaxstdio (). _getmaxstdio () returns the maximum number of open + FILE objects. The sanity check in _setmaxstdio reveals the maximum + number of file descriptors. This too allocates memory, but it is + freed when we call _setmaxstdio with the original value. */ + int orig_max_stdio = _getmaxstdio (); + unsigned int bound; + for (bound = 0x10000; _setmaxstdio (bound) < 0; bound = bound / 2) + ; + _setmaxstdio (orig_max_stdio); + dtablesize = bound; + } + return dtablesize; +} + +#endif diff --git a/m4/.gitignore b/m4/.gitignore index a5c3278..e03f2bc 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -1,7 +1,6 @@ /asm-underscore.m4 /cloexec.m4 /configmake.m4 -/getdtablesize.m4 /gnulib-comp.m4 /gnulib-tool.m4 /wchar_h.m4 diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4 new file mode 100644 index 0000000..40a598b --- /dev/null +++ b/m4/getdtablesize.m4 @@ -0,0 +1,14 @@ +# getdtablesize.m4 serial 2 +dnl Copyright (C) 2008-2011 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_GETDTABLESIZE], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([getdtablesize]) + if test $ac_cv_func_getdtablesize != yes; then + HAVE_GETDTABLESIZE=0 + fi +]) diff --git a/zless.in b/zless.in index dbdcfbe..0aa940f 100644 --- a/zless.in +++ b/zless.in @@ -53,5 +53,5 @@ if test "${LESSMETACHARS+set}" != set; then export LESSMETACHARS fi -LESSOPEN="|gzip -cdfq -- %s"; export LESSOPEN +LESSOPEN="|-gzip -cdfq -- %s"; export LESSOPEN exec less "$@"