Fix mismatched parens in previous commit
[gnulib.git] / ChangeLog
index 45f2a69..9b0372d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,163 @@
+2010-10-11  Gary V. Vaughan  <gary@gnu.org>
+
+       Fix mismatched parens in previous commit
+       * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
+       parens.
+
+2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
+
+       * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
+       (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
+       * lib/malloca.c: Include "verify.h".
+       (verify1): Remove, replacing with a verify call.
+       * lib/relocwrapper.c (verify1): Likewise.
+       * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
+       Likewise.
+       * modules/malloca (Depends-on): Add 'verify'.
+       * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
+       * modules/vasnprintf (Depends-on): Add 'verify'.
+       * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
+       * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
+
+       prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
+
+       Formerly the style was sometimes 2*X - 1, because the C standard
+       was wrongly thought to disallow ?: in integral constant expressions.
+       * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
+       * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
+       * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
+       * lib/stdint.in.h (_verify_intmax_size): Likewise.
+       * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
+       2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
+       verify that time_t cannot be floating.
+
+2010-10-08  Eric Blake  <eblake@redhat.com>
+
+       time: enforce recent POSIX ruling that time_t is integral
+       * lib/time.in.h (__time_t_must_be_integral): Detect any
+       problematic systems, allowing the rest of gnulib to assume POSIX.
+
+2010-10-08  Jim Meyering  <meyering@redhat.com>
+
+       fdopendir: fix a bug on systems lacking openat and /proc support
+       OpenBSD 4.7 is one such system.  The most noticeable effect was
+       failure of any application making nontrivial use of fts: rm, du,
+       chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
+         ./rm: traversal failed: `a': Bad file descriptor
+       Debugging that, you see that even though FD 6 was closed just
+       prior to the opendir call in fd_clone_opendir, its resulting
+       dir->dd_fd was 8, rather than the expected value of 6:
+
+       Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
+       93                close (fd);
+       (gdb) n
+       94                dir = fd_clone_opendir (dupfd);
+       (gdb) n
+       95                saved_errno = errno;
+       (gdb) p dir->dd_fd
+       $11 = 8
+
+       Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
+       The problem is that on OpenBSD, fd_clone_opendir has to resort
+       to using the old-style save/restore CWD mechanism, due to its
+       lack of openat/proc support, and *that* would steal the FD (6)
+       that opendir was supposed to use.
+
+       The fix is to squirrel away the desired FD so that save_cwd uses a
+       different one, and then free the dest FD right before calling opendir.
+       That guarantees opendir will use the required file descriptor.
+
+       * lib/fdopendir.c (fd_clone_opendir): Handle the above.
+
+2010-10-08  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
+       * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
+
+2010-10-08  Bruno Haible  <bruno@clisp.org>
+
+       nanosleep: Make replacement POSIX compliant.
+       * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
+       is out of range.
+       Reported by Jim Meyering.
+
+2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       bootstrap: add hook for altering gnulib.mk, for Bison
+       * build-aux/bootstrap (gnulib_mk_hook): New function, so that
+       the Bison bootstrapping process can rewrite file names and variables
+       in this file before later parts of 'bootstrap' use the file.
+       Bison wants to include lib/gnulib.mk from the top-level makefile,
+       so it needs the file names in this file to be relative to the top
+       level, not relative to lib; plus it needs variable names to be
+       rewritten.
+       (slurp): Use the new function.
+
+       bootstrap: reformat for readability
+       * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
+
+2010-10-08  Eric Blake  <eblake@redhat.com>
+
+       docs: update cygwin progress
+       * doc/posix-functions/cacos.texi (cacos): Added after cygwin
+       1.7.7.
+       * doc/posix-functions/cacosf.texi (cacosf): Likewise.
+       * doc/posix-functions/cacosh.texi (cacosh): Likewise.
+       * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
+       * doc/posix-functions/carg.texi (carg): Likewise.
+       * doc/posix-functions/cargf.texi (cargf): Likewise.
+       * doc/posix-functions/casin.texi (casin): Likewise.
+       * doc/posix-functions/casinf.texi (casinf): Likewise.
+       * doc/posix-functions/casinh.texi (casinh): Likewise.
+       * doc/posix-functions/casinhf.texi (casinhf): Likewise.
+       * doc/posix-functions/catan.texi (catan): Likewise.
+       * doc/posix-functions/catanf.texi (catanf): Likewise.
+       * doc/posix-functions/catanh.texi (catanh): Likewise.
+       * doc/posix-functions/catanhf.texi (catanhf): Likewise.
+       * doc/posix-functions/ccos.texi (ccos): Likewise.
+       * doc/posix-functions/ccosf.texi (ccosf): Likewise.
+       * doc/posix-functions/ccosh.texi (ccosh): Likewise.
+       * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
+       * doc/posix-functions/cexp.texi (cexp): Likewise.
+       * doc/posix-functions/cexpf.texi (cexpf): Likewise.
+       * doc/posix-functions/cimag.texi (cimag): Likewise.
+       * doc/posix-functions/cimagf.texi (cimagf): Likewise.
+       * doc/posix-functions/clog.texi (clog): Likewise.
+       * doc/posix-functions/clogf.texi (clogf): Likewise.
+       * doc/posix-functions/conj.texi (conj): Likewise.
+       * doc/posix-functions/conjf.texi (conjf): Likewise.
+       * doc/posix-functions/cpow.texi (cpow): Likewise.
+       * doc/posix-functions/cpowf.texi (cpowf): Likewise.
+       * doc/posix-functions/cproj.texi (cproj): Likewise.
+       * doc/posix-functions/cprojf.texi (cprojf): Likewise.
+       * doc/posix-functions/creal.texi (creal): Likewise.
+       * doc/posix-functions/crealf.texi (crealf): Likewise.
+       * doc/posix-functions/csin.texi (csin): Likewise.
+       * doc/posix-functions/csinf.texi (csinf): Likewise.
+       * doc/posix-functions/csinh.texi (csinh): Likewise.
+       * doc/posix-functions/csinhf.texi (csinhf): Likewise.
+       * doc/posix-functions/csqrt.texi (csqrt): Likewise.
+       * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
+       * doc/posix-functions/ctan.texi (ctan): Likewise.
+       * doc/posix-functions/ctanf.texi (ctanf): Likewise.
+       * doc/posix-functions/ctanh.texi (ctanh): Likewise.
+       * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
+       * doc/posix-headers/complex.texi (complex.h): Likewise.
+
+2010-10-07  Jim Meyering  <meyering@redhat.com>
+
+       parse-datetime: avoid compilation failure on OpenBSD 4.7
+       * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
+       This works around a compilation failure on OpenBSD 4.7:
+       http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
+
 2010-10-07  Eric Blake  <eblake@redhat.com>
 
        docs: update cygwin progress