gnulib.git
12 years agoFix for last commit.
Simon Josefsson [Sun, 13 Nov 2011 13:46:48 +0000 (14:46 +0100)]
Fix for last commit.

12 years agogit-version-gen: Add --prefix.
Simon Josefsson [Sun, 13 Nov 2011 13:43:35 +0000 (14:43 +0100)]
git-version-gen: Add --prefix.

* build-aux/git-version-gen: Add --prefix to configure the tag
match string.

12 years agogit-version: Improve command line handling.
Simon Josefsson [Sun, 13 Nov 2011 10:07:41 +0000 (11:07 +0100)]
git-version: Improve command line handling.

* build-aux/git-version-gen: Add --help and --version.

12 years agorevamp the other test-exclude?.sh scripts to use init.sh, too
Jim Meyering [Sat, 12 Nov 2011 16:12:59 +0000 (17:12 +0100)]
revamp the other test-exclude?.sh scripts to use init.sh, too

* tests/test-exclude1.sh: Use init.sh.
* tests/test-exclude2.sh: Likewise.
* tests/test-exclude3.sh: Likewise.
* tests/test-exclude4.sh: Likewise.
* tests/test-exclude5.sh: Likewise.
* tests/test-exclude6.sh: Likewise.
* tests/test-exclude7.sh: Likewise.
* tests/test-exclude8.sh: Likewise.
* modules/exclude-tests (Files): List init.sh.

12 years agotest-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
Jim Meyering [Sat, 12 Nov 2011 15:48:09 +0000 (16:48 +0100)]
test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails

These shell scripts ignored failure of the binary test-exclude,
so making the latter return 77 didn't cause them to be skipped.
* tests/test-exclude5.sh: Exit with test-exclude's error status
when that program fails.  Revamp to use init.sh.
* tests/test-exclude2.sh: Likewise.

12 years agotest-exclude: fix a typo
Jim Meyering [Sat, 12 Nov 2011 15:44:59 +0000 (16:44 +0100)]
test-exclude: fix a typo

* tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".

12 years agoautoupdate
Karl Berry [Sat, 12 Nov 2011 00:25:33 +0000 (16:25 -0800)]
autoupdate

12 years agoobstack: Fix compilation error on MSVC 9.
Bruno Haible [Fri, 11 Nov 2011 20:52:32 +0000 (21:52 +0100)]
obstack: Fix compilation error on MSVC 9.

* lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.

12 years agotest-exclude: skip tests rather than failing on deficient systems
Jim Meyering [Fri, 11 Nov 2011 13:37:59 +0000 (14:37 +0100)]
test-exclude: skip tests rather than failing on deficient systems

* tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
and FNM_LEADING_DIR on systems that lack the definitions.  This affects
at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950

12 years agoptsname_r test: Avoid gcc warning on glibc systems.
Bruno Haible [Thu, 10 Nov 2011 12:56:40 +0000 (13:56 +0100)]
ptsname_r test: Avoid gcc warning on glibc systems.

* tests/test-ptsname_r.c (null_ptr): New function.
(test_errors): Use it.

12 years agoptsname_r: Avoid compilation error on OSF/1 5.1.
Bruno Haible [Thu, 10 Nov 2011 12:48:16 +0000 (13:48 +0100)]
ptsname_r: Avoid compilation error on OSF/1 5.1.

* lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
function is not declared or incompatibly declared.
* modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
* modules/ptsname_r (Depends-on, configure.ac): Update.
* doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.

12 years agofstatat: Make cross-compilation guess succeed everywhere except on AIX.
Bruno Haible [Thu, 10 Nov 2011 11:31:22 +0000 (12:31 +0100)]
fstatat: Make cross-compilation guess succeed everywhere except on AIX.

* m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
When cross-compiling, guess yes on all platforms except AIX.
Reported by Ludovic Courtès <ludo@gnu.org>.

12 years agoptsname_r tests: Fix bugs.
Bruno Haible [Thu, 10 Nov 2011 01:41:17 +0000 (02:41 +0100)]
ptsname_r tests: Fix bugs.

* tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.

12 years agofstatat: work with cross-compilation
Paul Eggert [Thu, 10 Nov 2011 00:11:40 +0000 (16:11 -0800)]
fstatat: work with cross-compilation

Problem reported by Ludovic Courtès in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
* m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
"cross-compiling" and assume the bug is present.  Replace
FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
an inverted sense, to be more conservative about our assumptions.
* lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.

12 years agoImprove MODULES.html output.
Bruno Haible [Wed, 9 Nov 2011 23:31:31 +0000 (00:31 +0100)]
Improve MODULES.html output.

* modules/mkfifoat (Description): Use the word "function".
* modules/readlinkat (Description): Likewise.
* modules/symlinkat (Description): Likewise.

12 years agoptsname_r-tests: new test module
Eric Blake [Mon, 7 Nov 2011 23:01:36 +0000 (16:01 -0700)]
ptsname_r-tests: new test module

For now, this tests glibc behavior of both returning an errno
value as well as setting errno; we may need to relax that.

* modules/ptsname_r-tests: New module.
* tests/test-ptsname_r.c: New file.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoupdate from texinfo
Karl Berry [Wed, 9 Nov 2011 23:04:54 +0000 (15:04 -0800)]
update from texinfo

12 years agoptsname_r: new module
Eric Blake [Mon, 7 Nov 2011 22:26:08 +0000 (15:26 -0700)]
ptsname_r: new module

For now, this replacement focuses solely on compilation
compatibility, and assumes that isatty() and ttyname_r() work
on a master side pty; if this assumption fails, or if
thread-safety is also required, then a later patch can follow
the lead of strerror_r.c in wrapping the system ptsname()
with a lock.

* modules/ptsname_r: New module.
* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
* lib/ptsname.c (__ptsname_r): Split...
* lib/ptsname_r.c: ...into new file.
* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
(gl_STDLIB_H_DEFAULTS): Set witness defaults.
* modules/stdlib (Makefile.am): Substitute witnesses.
* lib/stdlib.in.h (ptsname_r): Declare it.
* doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
* MODULES.html.sh (Misc): Likewise.
* modules/ptsname (Depends-on): Alter dependency.
* doc/posix-functions/ptsname.texi (ptsname): Mention new module.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoannounce-gen: be more concise when there's only one URL+tarball
Jim Meyering [Wed, 9 Nov 2011 21:32:54 +0000 (22:32 +0100)]
announce-gen: be more concise when there's only one URL+tarball

* build-aux/announce-gen (get_tool_versions): When you distribute
only one type of tarball, combine the first two "Here are..."
sections and make the key-checking grammar independent of
how many tarballs there are.

12 years agoopenpty: provide a stub on mingw
Eric Blake [Wed, 9 Nov 2011 18:47:22 +0000 (11:47 -0700)]
openpty: provide a stub on mingw

On mingw, the compiler complained that 'struct termios' and
'struct winsize' were declared in the function prototype, then
failed to compile due to missing TCSAFLUSH.  Since we can't
emulate ptys on mingw, it's better to just make this module
be a stub that compiles but gracefully fails.

This patch assumes that the only portable way to use openpty()
is with the fourth and fifth arguments being NULL ('struct termios'
cannot be portably initialized in a standard-compliant manner
except by open(O_TTY_INIT)/tcgetattr(), and 'struct winsize' is
not standardized); for now, applications that want to alter termios
settings still have the burden of conditional compilation to avoid
the missing tcgetattr() on mingw.

* lib/pty.in.h (includes): Provide forward declarations.
* lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoraise: fix mingw handling of SIGPIPE
Eric Blake [Wed, 9 Nov 2011 18:34:21 +0000 (11:34 -0700)]
raise: fix mingw handling of SIGPIPE

When compiling for mingw, I see:

  CC     sigprocmask.lo
sigprocmask.c: In function '_gl_raise_SIGPIPE':
sigprocmask.c:349:1: warning: control reaches end of non-void function

which means that raise(SIGPIPE) would be using an uninitialized
value as its return.

* lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoMore conditional dependencies.
Bruno Haible [Wed, 9 Nov 2011 01:42:45 +0000 (02:42 +0100)]
More conditional dependencies.

* modules/faccessat (Depends-on): Add conditions.
* modules/fchmodat (Depends-on): Likewise.
* modules/fchownat (Depends-on): Likewise.
* modules/fstatat (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.
* modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
* modules/linkat (Depends-on): Refine the conditions.
* modules/renameat (Depends-on): Likewise.

12 years agofaccessat: Move AC_LIBOBJ invocation to module description.
Bruno Haible [Wed, 9 Nov 2011 01:15:01 +0000 (02:15 +0100)]
faccessat: Move AC_LIBOBJ invocation to module description.

* m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
(gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
invocation from here...
* modules/faccessat (configure.ac): ... to here. Invoke
gl_PREREQ_FACCESSAT.

12 years agofaccessat: Simplify autoconf macro.
Bruno Haible [Wed, 9 Nov 2011 01:08:15 +0000 (02:08 +0100)]
faccessat: Simplify autoconf macro.

* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
gl_FUNC_EUIDACCESS.

12 years agorenameat: Fix dependencies.
Bruno Haible [Wed, 9 Nov 2011 01:03:26 +0000 (02:03 +0100)]
renameat: Fix dependencies.

* modules/renameat (Depends-on): Add stdbool.

12 years agomkfifoat: Fix module description.
Bruno Haible [Wed, 9 Nov 2011 01:01:28 +0000 (02:01 +0100)]
mkfifoat: Fix module description.

* modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
not gl_UNISTD_MODULE_INDICATOR.

12 years agofstatat: Remove unused dependency.
Bruno Haible [Wed, 9 Nov 2011 00:56:40 +0000 (01:56 +0100)]
fstatat: Remove unused dependency.

* modules/fstatat (Depends-on): Remove fstat.

12 years agoGNUmakefile: behave when Makefile is missing.
Simon Josefsson [Tue, 8 Nov 2011 20:28:44 +0000 (21:28 +0100)]
GNUmakefile: behave when Makefile is missing.

* top/GNUmakefile: Always initialize _build-aux and _autoreconf.

12 years agoopenat: Conditionalize dependencies.
Bruno Haible [Tue, 8 Nov 2011 12:02:02 +0000 (13:02 +0100)]
openat: Conditionalize dependencies.

* lib/openat.c: Reduce the scope of some #includes.
* modules/openat (Depends-on): Add conditions.

12 years agomaint.mk: extract GPG key ID without using a temporary file
Jim Meyering [Tue, 8 Nov 2011 09:44:54 +0000 (10:44 +0100)]
maint.mk: extract GPG key ID without using a temporary file

* top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
without using a temporary file.  Based on a suggestion from Werner Koch
in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496

12 years agograntpt: fix typo
Eric Blake [Mon, 7 Nov 2011 22:18:07 +0000 (15:18 -0700)]
grantpt: fix typo

* lib/stdlib.in.h (grantpt): Check correct function.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agomaint.mk: silence new syntax check
Eric Blake [Mon, 7 Nov 2011 17:41:03 +0000 (10:41 -0700)]
maint.mk: silence new syntax check

* top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agoDoc about floating-point and math API.
Bruno Haible [Sun, 6 Nov 2011 23:22:31 +0000 (00:22 +0100)]
Doc about floating-point and math API.

* doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
* doc/posix-headers/math.texi: Mention problem with math_errhandling.

12 years agostdalign tests: Skip the test when compiled by Sun C.
Bruno Haible [Sun, 6 Nov 2011 22:54:47 +0000 (23:54 +0100)]
stdalign tests: Skip the test when compiled by Sun C.

* tests/test-stdalign.c (main): Skip the test on Sun C.

12 years agoansi-c++-opt: Complete the 2011-06-05 change.
Bruno Haible [Sun, 6 Nov 2011 21:33:25 +0000 (22:33 +0100)]
ansi-c++-opt: Complete the 2011-06-05 change.

* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
does not support namespaces, set the variable to "no", not to ":".

12 years ago* doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
Paul Eggert [Sun, 6 Nov 2011 21:32:38 +0000 (13:32 -0800)]
* doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.

12 years agocopysignl: Fix result for zero argument on HP-UX 11 with HP C.
Bruno Haible [Sun, 6 Nov 2011 18:17:07 +0000 (19:17 +0100)]
copysignl: Fix result for zero argument on HP-UX 11 with HP C.

* lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
(minus_zerol) [HP-UX]: New macro.
(unary_minus) [HP-UX]: New function.
(copysignl) [HP-UX]: Use unary_minus function.

12 years agoupdate from texinfo
Karl Berry [Sun, 6 Nov 2011 17:51:02 +0000 (09:51 -0800)]
update from texinfo

12 years agoldexp, ldexpf, ldexpl: Enhance tests.
Bruno Haible [Sun, 6 Nov 2011 12:52:30 +0000 (13:52 +0100)]
ldexp, ldexpf, ldexpl: Enhance tests.

* tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
and tests/test-ldexpl.c.
* tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
LDEXP, MIN_EXP, MAX_EXP): New macros.
Include test-ldexp.h.
(main): Just call test_function.
* tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
infinity.h, nan.h.
(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
MAX_EXP): New macros.
Include test-ldexp.h.
(x, y): Remove variables.
(main): Just call test_function.
* tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
infinity.h, nan.h.
(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
MAX_EXP): New macros.
Include test-ldexp.h.
(x, y): Remove variables.
(main): Just call test_function.
* modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
* modules/ldexp-tests (Files): Add tests/test-ldexp.h,
tests/minus-zero.h, tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm, signbit, float.
* modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
tests/minus-zero.h, tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm, signbit, float.

12 years agomath tests: Cosmetics.
Bruno Haible [Sun, 6 Nov 2011 11:16:59 +0000 (12:16 +0100)]
math tests: Cosmetics.

* tests/test-math-c++.cc: Reorder declarations.

12 years agofma*: Simplify test.
Bruno Haible [Sun, 6 Nov 2011 01:51:04 +0000 (02:51 +0100)]
fma*: Simplify test.

* tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
(test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.

12 years agoTests for module 'fmal'.
Bruno Haible [Sun, 6 Nov 2011 01:33:39 +0000 (02:33 +0100)]
Tests for module 'fmal'.

* modules/fmal-tests: New file.
* tests/test-fmal1.c: New file.
* tests/test-fmal2.c: New file.

12 years agoNew module 'fmal'.
Bruno Haible [Mon, 17 Oct 2011 21:54:37 +0000 (23:54 +0200)]
New module 'fmal'.

* lib/math.in.h (fmal): New declaration.
* lib/fmal.c: New file.
* m4/fmal.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
* modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
REPLACE_FMAL.
* modules/fmal: New file.
* doc/posix-functions/fmal.texi: Mention the new module and the various
bugs.

12 years agoTests for module 'fmaf'.
Bruno Haible [Sun, 6 Nov 2011 01:31:24 +0000 (02:31 +0100)]
Tests for module 'fmaf'.

* modules/fmaf-tests: New file.
* tests/test-fmaf1.c: New file.
* tests/test-fmaf2.c: New file.

12 years agoNew module 'fmaf'.
Bruno Haible [Mon, 17 Oct 2011 21:51:21 +0000 (23:51 +0200)]
New module 'fmaf'.

* lib/math.in.h (fmaf): New declaration.
* lib/fmaf.c: New file.
* m4/fmaf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
* modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
REPLACE_FMAF.
* modules/fmaf: New file.
* doc/posix-functions/fmaf.texi: Mention the new module and the various
bugs.

12 years agoTests for module 'fma'.
Bruno Haible [Sun, 6 Nov 2011 01:28:32 +0000 (02:28 +0100)]
Tests for module 'fma'.

* modules/fma-tests: New file.
* tests/test-fma1.c: New file.
* tests/test-fma1.h: New file.
* tests/test-fma2.c: New file.
* tests/test-fma2.h: New file.

12 years agoNew module 'fma'.
Bruno Haible [Mon, 17 Oct 2011 21:48:01 +0000 (23:48 +0200)]
New module 'fma'.

* lib/math.in.h (fma): New declaration.
* lib/fma.c: New file.
* m4/fma.m4: New file.
* m4/fegetround.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
* modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
REPLACE_FMA.
* modules/fma: New file.
* doc/posix-functions/fma.texi: Mention the new module and the various
bugs.

12 years agoExtend gl_MATHFUNC.
Bruno Haible [Sun, 6 Nov 2011 01:14:43 +0000 (02:14 +0100)]
Extend gl_MATHFUNC.

* m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
Support 'void' as argument type.
* m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.

12 years agoNew modules 'at-internal', 'openat-h', split off from module 'openat'.
Bruno Haible [Sat, 5 Nov 2011 19:34:55 +0000 (20:34 +0100)]
New modules 'at-internal', 'openat-h', split off from module 'openat'.

* modules/at-internal: New file, extracted from modules/openat.
* modules/openat-h: New file.

12 years agomaint.mk: also prohibit inclusion of dirent.h without use
Jim Meyering [Sat, 5 Nov 2011 16:34:09 +0000 (17:34 +0100)]
maint.mk: also prohibit inclusion of dirent.h without use

* top/maint.mk (sc_prohibit_dirent_without_use): New rule.

12 years agoldexpl tests: Avoid test failure on MSVC 9.
Bruno Haible [Sat, 5 Nov 2011 16:00:34 +0000 (17:00 +0100)]
ldexpl tests: Avoid test failure on MSVC 9.

* tests/test-ldexpl.c (main): Use a temporary variable for the expected
value. Needed in order to enforce the conversion from a value greater
than LDBL_MAX to Infinity.

12 years agoNew modules 'at-internal', 'openat-h', split off from module 'openat'.
Bruno Haible [Sat, 5 Nov 2011 10:35:57 +0000 (11:35 +0100)]
New modules 'at-internal', 'openat-h', split off from module 'openat'.

* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
* modules/openat (Description): Add reference to POSIX function.
(Files): Remove lib/openat.h, lib/openat-proc.c.
(Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
intprops, unistd.
(configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
gl_FCNTL_MODULE_INDICATOR.
(Include): Remove unistd.h, openat.h.
* modules/areadlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
openat-die, openat-h, save-cwd.
* modules/areadlinkat-with-size (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
openat-die, openat-h, save-cwd, unistd.
* modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/fchmodat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, unistd.
* modules/fchownat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, sys_stat.
* modules/fdopendir (Files): Remove lib/openat-priv.h,
lib/openat-proc.c.
(Depends-on): Add at-internal.
(condigure.ac): Remove AC_LIBOBJ of openat-proc.
* modules/fstatat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
stdbool, unistd.
* modules/fts (Depends-on): Add openat-h.
* modules/linkat (Depends-on): Add at-internal, openat-h. Remove
openat.
* modules/mkdirat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, sys_stat.
* modules/mkfifoat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/openat-die (Depends-on): Add openat-h. Remove openat.
* modules/readlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/renameat (Depends-on): Add at-internal, openat-h. Remove
openat.
* modules/selinux-at (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
* modules/symlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/unlinkat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
stdbool.
* modules/utimensat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
openat-die, openat-h, save-cwd.
* modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
* modules/fdutimensat-tests (Depends-on): Add openat.
* modules/fstatat-tests (Depends-on): Add openat-h.
* modules/readlinkat-tests (Depends-on): Add openat.
* modules/symlinkat-tests (Depends-on): Add openat.

12 years agoopenat: Include <stdbool.h>.
Bruno Haible [Sat, 5 Nov 2011 08:42:48 +0000 (09:42 +0100)]
openat: Include <stdbool.h>.

* lib/openat.c: Include <stdbool.h>.

12 years agofchownat, renameat, unlinkat: Fix dependencies.
Bruno Haible [Sat, 5 Nov 2011 00:21:00 +0000 (01:21 +0100)]
fchownat, renameat, unlinkat: Fix dependencies.

* modules/fchownat (Depends-on): Add fstatat.
* modules/renameat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.

12 years agoopenat: remove direct dependency on dirent
Paul Eggert [Fri, 4 Nov 2011 18:22:07 +0000 (11:22 -0700)]
openat: remove direct dependency on dirent

* lib/openat.h: Don't include <dirent.h>; it's no longer needed,
and hasn't been needed ever since fdopendir was split into its own
module on 2009-08-31.
* modules/openat (Depends-on): Remove dirent.

12 years agorenameat: Optimize code size.
Bruno Haible [Fri, 4 Nov 2011 17:13:22 +0000 (18:13 +0100)]
renameat: Optimize code size.

* modules/renameat (configure.ac): Don't compile at-func2.c if
REPLACE_RENAMEAT is 1.

12 years agoopenat tests: Fix file list.
Bruno Haible [Fri, 4 Nov 2011 17:12:25 +0000 (18:12 +0100)]
openat tests: Fix file list.

* modules/openat-tests (Files): Add tests/test-open.h.

12 years agoopenat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
Bruno Haible [Fri, 4 Nov 2011 17:11:03 +0000 (18:11 +0100)]
openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.

* modules/fchmodat (Depends-on): Add openat-die.
* modules/fchownat (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/openat (Depends-on): Add dirent.

12 years agoat-func*.c: fix comments
Jim Meyering [Fri, 4 Nov 2011 12:33:54 +0000 (13:33 +0100)]
at-func*.c: fix comments

* lib/at-func2.c: Correct/improve first-line comment.
* lib/at-func.c: Correct grammar in first-line comment.

12 years agoNew module 'mkdirat', split off from module 'openat'.
Bruno Haible [Fri, 4 Nov 2011 10:31:25 +0000 (11:31 +0100)]
New module 'mkdirat', split off from module 'openat'.

* m4/mkdirat.m4: New file. extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
* modules/mkdirat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/mkdirat.c.
(Depends-on): Remove mkdir.
(configure.ac): Remove AC_LIBOBJ of mkdirat.
(Include): Remove <sys/stat.h>.
* modules/mkdirat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-mkdirat.c,
tests/test-mkdir.h.
(Depends-on): Remove ignore-value.
(Makefile.am): Remove rules for test-mkdirat.
* doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
of module 'openat'.
* NEWS: Mention the change.

12 years agoclosedir: Avoid warning on mingw.
Bruno Haible [Fri, 4 Nov 2011 11:03:48 +0000 (12:03 +0100)]
closedir: Avoid warning on mingw.

* lib/closedir.c: Include <unistd.h>.

12 years agoNew module 'fstatat', split off from module 'openat'.
Bruno Haible [Thu, 3 Nov 2011 11:03:53 +0000 (12:03 +0100)]
New module 'fstatat', split off from module 'openat'.

* lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
defined.
* m4/fstatat.m4: New file. extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
gl_FUNC_FSTATAT.
(gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
* modules/fstatat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fstatat.c.
(Depends-on): Remove lstat.
(configure.ac): Remove AC_LIBOBJ of fstatat.
* modules/fstatat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fstatat.c,
tests/test-lstat.h, tests/test-stat.h.
(Depends-on): Remove getcwd-lgpl.
(Makefile.am): Remove rules for test-fstatat.
* doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
of module 'openat'.
* NEWS: Mention the change.
* modules/getcwd (Depends-on): Add fstatat.
* modules/linkat (Depends-on): Likewise.
* modules/mkfifoat-tests (Depends-on): Likewise.
* modules/utimensat (Depends-on): Add fstatat. Remove openat.

12 years agoNew module 'unlinkat', split off from module 'openat'.
Bruno Haible [Wed, 2 Nov 2011 21:34:51 +0000 (22:34 +0100)]
New module 'unlinkat', split off from module 'openat'.

* m4/unlinkat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
* modules/unlinkat: New file, extracted from modules/openat. Correct
the dependency conditions.
* modules/openat (Files): Remove lib/unlinkat.c.
(Depends-on): Remove rmdir, unlink.
(configure.ac): Remove AC_LIBOBJ of unlinkat.
* modules/unlinkat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-unlinkat.c,
tests/test-rmdir.h, tests/test-unlink.h.
(Depends-on): Remove unlinkdir.
(Makefile.am): Remove rules for test-unlinkat.
* doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
of module 'openat'.
* NEWS: Mention the change.
* modules/linkat-tests (Depends-on): Add unlinkat.
* modules/mkfifoat-tests (Depends-on): Likewise.
* modules/readlinkat-tests (Depends-on): Likewise.

12 years agoNew module 'fchmodat', split off from module 'openat'.
Bruno Haible [Wed, 2 Nov 2011 09:07:20 +0000 (10:07 +0100)]
New module 'fchmodat', split off from module 'openat'.

* lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
defined.
* m4/fchmodat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
* modules/fchmodat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fchmodat.c.
(configure.ac): Remove AC_LIBOBJ of fchmodat.
* modules/fchmodat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fchmodat.c.
(Makefile.am): Remove rules for test-fchmodat.
* doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
of module 'openat'.
* NEWS: Mention the change.

12 years agoputenv: indent #definition of "environ" to placate cppi
Jim Meyering [Wed, 2 Nov 2011 08:15:34 +0000 (09:15 +0100)]
putenv: indent #definition of "environ" to placate cppi

* lib/putenv.c (environ): Make indentation reflect cpp nesting.

12 years agogitlog-to-changelog: provide a ChangeLog-repair mechanism
Jim Meyering [Tue, 1 Nov 2011 17:04:21 +0000 (18:04 +0100)]
gitlog-to-changelog: provide a ChangeLog-repair mechanism

Git logs are often treated as immutable, because editing them
changes the SHA1 checksums of all descendants.  Thus, errors in
git logs tend to stay there forever.  However, when we generate
a ChangeLog file -- typically for distribution -- from that git log,
we can actually make corrections in the generated file.  The key
lies in recording in machine-readable/applicable form the desired
corrections.  See --help for description and an example.
* build-aux/gitlog-to-changelog (parse_amend_file): New function.
(usage): Describe it; alphabetize option descriptions.
(main): Honor the new option, carefully.

12 years agogitlog-to-changelog: avoid an infloop
Jim Meyering [Tue, 1 Nov 2011 14:11:06 +0000 (15:11 +0100)]
gitlog-to-changelog: avoid an infloop

* build-aux/gitlog-to-changelog: Don't infloop for a commit log
that ends up being empty.

12 years ago* MODULES.html.sh: Fix sed-script shell quoting and locale issues.
Paul Eggert [Tue, 1 Nov 2011 20:15:14 +0000 (13:15 -0700)]
* MODULES.html.sh: Fix sed-script shell quoting and locale issues.

(func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
contains (possibly-quoted) backslashes.  This should avoid
all-too-common shell bugs if COMPLICATED contains backslashes in
the "wrong" places.  Reported by David Evans in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
When 'sed' uses character ranges like A-Z, invoke it in the C locale,
because we want ASCII ranges.  Is there some reason we don't use
the C locale everywhere in this script?
(func_module, top level): Avoid unwanted pathname expansion when
$repo_url_prefix or $repo_url_suffix_repl contain shell
metacharacters like '?' and '*'.

12 years agofchownat: Improve description.
Bruno Haible [Tue, 1 Nov 2011 17:51:17 +0000 (18:51 +0100)]
fchownat: Improve description.

* modules/fchownat (Description): Add link to function.

12 years ago* tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
Paul Eggert [Tue, 1 Nov 2011 15:22:55 +0000 (08:22 -0700)]
* tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.

mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
* doc/posix-headers/stdalign.texi (stdalign.h): Document this.

12 years agoFix my old ChangeLog entry to properly cite Bruno's email.
Paul Eggert [Tue, 1 Nov 2011 15:13:21 +0000 (08:13 -0700)]
Fix my old ChangeLog entry to properly cite Bruno's email.

12 years agoalignof: Avoid collision with stdalign module.
Bruno Haible [Tue, 1 Nov 2011 11:43:23 +0000 (12:43 +0100)]
alignof: Avoid collision with stdalign module.

* lib/alignof.h (alignof): Remove macro.
* NEWS: Mention the change.
Reported by Paul Eggert.

12 years agoNew module 'fchownat', split off from module 'openat'.
Bruno Haible [Tue, 1 Nov 2011 10:01:10 +0000 (11:01 +0100)]
New module 'fchownat', split off from module 'openat'.

* lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
defined.
* m4/fchownat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
invoke gl_FUNC_FCHOWNAT.
(gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
* modules/fchownat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fchownat.c.
(Depends-on): Remove lchown.
(configure.ac): Remove AC_LIBOBJ of fchownat.
* modules/fchownat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fchownat.c,
tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
(Depends-on): Remove mgetgroups, usleep, stat-time.
(configure.ac): Remove test for getegid.
(Makefile.am): Remove rules for test-fchownat.
* doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
of module 'openat'.
* NEWS: Mention the change.

12 years agostdalign: port better to MSVC and to Sun C 5.11
Paul Eggert [Tue, 1 Nov 2011 05:37:30 +0000 (22:37 -0700)]
stdalign: port better to MSVC and to Sun C 5.11

I think these problems were reported by Bruno Haible, in email
that I've unfortunately misplaced.
* doc/posix-headers/stdalign.texi (stdalign.h): Document more
shortcomings of MSVC and of Sun C 5.11.
* lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
around __declspec arg.
* modules/stdalign-tests (Files): Add tests/macros.h.
* tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
Include macros.h, for ASSERT.
(DECLARE_ALIGNED): Remove.
(TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
to catch bug), and to 1 if not (simplifies the rest of the code).
(CHECK_STATIC): Always declare the alignment test vars; that's simpler.
(CHECK_AUTO): Remove.
(CHECK_ALIGNED): Check only the alignment of the static vars,
since auto var alignment isn't supported by Sun C 5.11.
(CHECK_TYPES): Remove.  All uses replaced by inline code, so that
ASSERT failures are easier to diagnose.

12 years agodoc about some IRIX 5.3 problems.
Bruno Haible [Mon, 31 Oct 2011 21:46:31 +0000 (22:46 +0100)]
doc about some IRIX 5.3 problems.

* doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
on IRIX 5.3.
* doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
* doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5.3.
* doc/posix-functions/grantpt.texi: Likewise.
* doc/posix-functions/unlockpt.texi: Likewise.
* doc/posix-functions/lgamma.texi: Likewise.
* doc/posix-functions/nextafter.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/select.texi: Mention misplaced declaration on
IRIX 5.3.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.

12 years agogitlog-to-changelog: fix git-log invocation
Dmitry V. Levin [Mon, 31 Oct 2011 15:56:52 +0000 (19:56 +0400)]
gitlog-to-changelog: fix git-log invocation

git-log mishandles date strings before 1970-01-01 UTC, and there is
no use to specify --since=1970-01-01 by default anyway.
* build-aux/gitlog-to-changelog: By default, when no --since option
was given, do not specify explicit --since option to git-log.

12 years agogitlog-to-changelog: new option --append-dot
Dmitry V. Levin [Sun, 30 Oct 2011 22:00:00 +0000 (22:00 +0000)]
gitlog-to-changelog: new option --append-dot

* build-aux/gitlog-to-changelog: New option --append-dot, makes the
first non-blank line of each commit message terminated with a dot.

12 years agoffsl, ffsll: Avoid compilation error due to 'restrict'.
Bruno Haible [Mon, 31 Oct 2011 01:07:25 +0000 (02:07 +0100)]
ffsl, ffsll: Avoid compilation error due to 'restrict'.

* lib/ffsl.h: Include <config.h>.
Suggested by Tom G. Christensen <tgc@jupiterrise.com>.

12 years agoGNUmakefile: reenable "make syntax-check" for most projects
Jim Meyering [Sun, 30 Oct 2011 20:24:06 +0000 (21:24 +0100)]
GNUmakefile: reenable "make syntax-check" for most projects

Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
build-aux variable", "syntax-check" would do nothing but succeed with
the "No version control files detected..." diagnostic (unless you
happened to override _build-aux via cfg.mk).
* top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
to precede inclusion of maint.mk.  Otherwise, these variables would
be used undefined in any project that does not override the default.

12 years agogitlog-to-changelog: treat a message with only blank lines as empty
Dmitry V. Levin [Sun, 30 Oct 2011 01:01:00 +0000 (05:01 +0400)]
gitlog-to-changelog: treat a message with only blank lines as empty

* build-aux/gitlog-to-changelog: Move the code that removes leading and
trailing blank lines before the code that issues a warning about an
empty commit message.

12 years agotest-parse-datetime.c: avoid new DST-related false positive test failure
Jim Meyering [Sun, 30 Oct 2011 17:12:54 +0000 (18:12 +0100)]
test-parse-datetime.c: avoid new DST-related false positive test failure

* tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
based on the time/date we'll convert, not the current time.
Otherwise, the moment we cross a DST boundary like today's in
Europe, (CEST to CET), that offset ends up being one hour off.

12 years agoautoupdate
Karl Berry [Sat, 29 Oct 2011 14:02:17 +0000 (07:02 -0700)]
autoupdate

12 years agofstat: Tweak documentation.
Bruno Haible [Thu, 27 Oct 2011 22:29:04 +0000 (00:29 +0200)]
fstat: Tweak documentation.

* modules/fstat (Description): More precise description.

12 years agoUpdate documentation regarding 'largefile' module.
Bruno Haible [Thu, 27 Oct 2011 22:26:55 +0000 (00:26 +0200)]
Update documentation regarding 'largefile' module.

* doc/posix-functions/fstat.texi: Tweak wording.
* doc/posix-functions/opendir.texi: Mention that the module fixes the
problems with huge directories and/or small ino_t types.
* doc/posix-functions/readdir.texi: Likewise.
* doc/posix-functions/rewinddir.texi: Likewise.

12 years agomaint.mk: don't maintain a second build-aux variable.
Gary V. Vaughan [Sun, 23 Oct 2011 10:28:55 +0000 (17:28 +0700)]
maint.mk: don't maintain a second build-aux variable.

* maint.mk (build_aux): Removed.  The maintainer-makefile module
depends on GNUmakefile, which already maintains a cfg.mk
overridable $(_build-aux) for projects with a non-standard
build-aux directory location, although without the $(srcdir)
prefix.  Use that variable consistently instead of introducing a
second one.  Adjust all call sites.

12 years agoAdjust to Bruno's comments.
Paul Eggert [Thu, 27 Oct 2011 19:43:51 +0000 (12:43 -0700)]
Adjust to Bruno's comments.

12 years agosys_socket: use stdalign, not alignof
Paul Eggert [Mon, 17 Oct 2011 00:19:18 +0000 (17:19 -0700)]
sys_socket: use stdalign, not alignof

* lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
* modules/sys_socket (Depends-on): Depend on stdalign, not alignof.

12 years agocrypto libraries: use stdalign
Paul Eggert [Mon, 17 Oct 2011 00:17:47 +0000 (17:17 -0700)]
crypto libraries: use stdalign

* lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
Do not include <stdlib.h> twice, in md4.c.
(UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
because we are accessing a pointer's bit-pattern, not a size.
* modules/crypto/gc-md4 (Depends-on): Add stdalign.
* modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
* modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
* modules/crypto/sha512: Likewise.

12 years agoargp: use stdalign
Paul Eggert [Sun, 16 Oct 2011 23:59:46 +0000 (16:59 -0700)]
argp: use stdalign

* lib/argp-parse.c: Include <stdalign.h>.
(alignof): Remove.
* modules/argp (Depends-on): Add stdalign.

12 years agostdalign-tests: new module
Paul Eggert [Sun, 16 Oct 2011 23:58:23 +0000 (16:58 -0700)]
stdalign-tests: new module

* modules/stdalign-tests, tests/test-stdalign.c: New files.

12 years agostdalign: new module
Paul Eggert [Sun, 16 Oct 2011 23:56:59 +0000 (16:56 -0700)]
stdalign: new module

* doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
* modules/stdalign: New files.
* MODULES.html.sh (c1x_core_properties): Add stdalign.
* doc/gnulib.texi (Header File Substitutes): Add stdalign.

12 years agoraise test: Avoid a test failure on Linux/MIPS.
Bruno Haible [Thu, 27 Oct 2011 19:14:19 +0000 (21:14 +0200)]
raise test: Avoid a test failure on Linux/MIPS.

* tests/test-raise.c (main): Try raising signal 199, not 99. Needed
because 99 is a valid signal on Linux/MIPS.

12 years agononblocking tests: Fix test failure on Linux/MIPS.
Bruno Haible [Thu, 27 Oct 2011 19:12:12 +0000 (21:12 +0200)]
nonblocking tests: Fix test failure on Linux/MIPS.

* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
Set to 270000.

12 years agoutimensat: Work around problem on Linux/hppa.
Bruno Haible [Thu, 27 Oct 2011 12:44:05 +0000 (14:44 +0200)]
utimensat: Work around problem on Linux/hppa.

* lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
values.
* doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.

12 years agomaint.mk: fix a bug in sc_prohibit_stddef_without_use
Jim Meyering [Tue, 25 Oct 2011 13:49:18 +0000 (15:49 +0200)]
maint.mk: fix a bug in sc_prohibit_stddef_without_use

* top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
after symbols like NULL, size_t, etc.
Reported by Alfred M. Szmidt.

12 years agomaint.mk: exempt ENODATA from a syntax-check rule
Jim Meyering [Tue, 25 Oct 2011 10:26:49 +0000 (12:26 +0200)]
maint.mk: exempt ENODATA from a syntax-check rule

* top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
from the sc_prohibit_always-defined_macros syntax-check rule.
Add a comment.  See this for more details:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795

12 years agofts: close parent dir FD before returning from post-traversal fts_read
Jim Meyering [Sun, 23 Oct 2011 20:42:25 +0000 (22:42 +0200)]
fts: close parent dir FD before returning from post-traversal fts_read

The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
unlink A, even though an FD open on A remained.  This is suboptimal
(holding a file descriptor open longer than needed), but otherwise not
a problem on Unix-like kernels.  However, on Cygwin with certain Novell
file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
that represents a real problem: it causes the removal of A to fail
with e.g., "rm: cannot remove `A': Device or resource busy"

fts visits each directory twice and keeps a cache (fts_fd_ring) of
directory file descriptors.  After completing the final, FTS_DP,
visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
cache, but then proceeded to add a new FD to it via the subsequent
FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
final file descriptor would be closed only via fts_close's call to
fd_ring_clear.  Now, it is usually closed earlier, via the final
FTS_DP-returning fts_read call.
* lib/fts.c (restore_initial_cwd): New function, converted from
the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
Update callers.
Reported by Franz Sirl via the above URL, with analysis by Eric Blake
in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739

12 years agoautoupdate
Karl Berry [Sun, 23 Oct 2011 17:38:55 +0000 (10:38 -0700)]
autoupdate

12 years agoreadme-release: improve safety of release prep instructions.
Gary V. Vaughan [Sun, 23 Oct 2011 06:13:46 +0000 (13:13 +0700)]
readme-release: improve safety of release prep instructions.

* README-release: Don't git pull all branches when only master
is needed for the release process.
Run make maintainer-clean before changing trees and merging.
Don't try to run ./configure right after git pull in case files
that influence the bootstrap process have changed, move the
./configure step to after running ./bootstrap.
Don't bootstrap "one last time"... it's the first time!

12 years agoerrno, strerror-override: Support for MSVC 10.
Bruno Haible [Sat, 22 Oct 2011 14:28:19 +0000 (16:28 +0200)]
errno, strerror-override: Support for MSVC 10.

* lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
(ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
Assign values compatible with MSVC 10.
(ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
New macros.
(GNULIB_defined_EWINSOCK): New macro.
* lib/strerror-override.c (strerror_override): Update accordingly.
* lib/strerror-override.h: Likewise.
* lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
longer equal to the corresponding errno value.
Reported by Michael Goffioul <michael.goffioul@gmail.com>.