gnulib.git
11 years agoNew 'c-*printf' modules for formatted output in C locale.
Ben Pfaff [Wed, 19 Dec 2012 05:06:17 +0000 (21:06 -0800)]
New 'c-*printf' modules for formatted output in C locale.

New module 'c-vasnprintf'.
* modules/c-vasnprintf: New file.
* lib/c-vasnprintf.c: New file.
* lib/c-vasnprintf.h: New file.

New module 'c-snprintf'.
* modules/c-snprintf: New file.
* modules/c-snprintf-tests: New file.
* lib/c-snprintf.c: New file.
* lib/c-snprintf.h: New file.
* tests/test-c-snprintf.c: New file.
* tests/test-c-snprintf.sh: New file.

New module 'c-vsnprintf'.
* modules/c-vsnprintf: New file.
* modules/c-vsnprintf-tests: New file.
* lib/c-vsnprintf.c: New file.
* lib/c-vsnprintf.h: New file.
* tests/test-c-vsnprintf.c: New file.
* tests/test-c-vsnprintf.sh: New file.

New module 'c-vasprintf'.
* modules/c-vasprintf: New file.
* modules/c-vasprintf-tests: New file.
* lib/c-asprintf.c: New file.
* lib/c-vasprintf.c: New file.
* lib/c-vasprintf.h: New file.
* tests/test-c-vasprintf.c  +: New file.
* tests/test-c-vasprintf.sh: New file.

New module 'c-xvasprintf'.
* modules/c-xvasprintf: New file.
* modules/c-xvasprintf-tests: New file.
* lib/c-xasprintf.c: New file.
* lib/c-xvasprintf.c: New file.
* lib/c-xvasprintf.h: New file.
* tests/test-c-xvasprintf.c: New file.
* tests/test-c-xvasprintf.sh: New file.

11 years agoargp: better 'inline'
Paul Eggert [Wed, 19 Dec 2012 01:59:33 +0000 (17:59 -0800)]
argp: better 'inline'

Use extern-inline module to declare extern inline functions.
This avoids some bogus warning diagnostics.  Problem discovered
when modifying GNU tar to use the manywarnings module.
* lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
* lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
Define based on extern-inline.
* modules/argp (Depends-on): Add extern-inline.

11 years agofilemode, sys_stat: Handle MPX files a la AIX.
Paul Eggert [Tue, 18 Dec 2012 06:15:20 +0000 (22:15 -0800)]
filemode, sys_stat: Handle MPX files a la AIX.

* lib/filemode.c (ftypelet): Report 'm' for MPX files.
* lib/sys_stat.in.h (S_ISMPX): New macro.
* tests/test-sys_stat.c: Add tests for MPX files.

11 years agox-to-1: honor $PERL
Alexandre Duret-Lutz [Wed, 12 Dec 2012 10:05:45 +0000 (11:05 +0100)]
x-to-1: honor $PERL

* build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
a chance to use his preferred version of Perl.  This is typically
required by Darwin users whose default /usr/bin/perl does not have all
the libraries required by help2man, and who need to use their MacPorts
installation of Perl instead.

11 years agognu-web-doc-update: add all the new files, even in new directories
Akim Demaille [Fri, 14 Dec 2012 11:58:35 +0000 (12:58 +0100)]
gnu-web-doc-update: add all the new files, even in new directories

See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html

* build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
Use it.
(main): Don't use cvsutils to get the list of unknown files,
just add all the existing files and directories.

11 years agognu-web-doc-update: improve --help
Akim Demaille [Fri, 14 Dec 2012 11:53:34 +0000 (12:53 +0100)]
gnu-web-doc-update: improve --help

* build-aux/gnu-web-doc-update: Move comments into --help.

11 years agomountlist: recognize more "dummy" file systems
Eric Wong [Fri, 7 Dec 2012 23:14:34 +0000 (23:14 +0000)]
mountlist: recognize more "dummy" file systems

* lib/mountlist.c (ME_DUMMY_0):
  Add these dummy FS names to the list:
  - "debugfs" virtual filesystem for kernel debugging
  - "devpts" PTY slave filesystem
  - "devtmpfs" device filesystem on top of tmpfs/ramfs
  - "fusectl" control filesystem for FUSE
  - "mqueue" enumerates POSIX message queues
  - "rpc_pipefs" kernel <-> userspace bridge for NFS
  - "sysfs" is for exporting kernel objects
  - "devfs" device filesystem for Linux 2.4 and FreeBSD

11 years agoextern-inline: avoid incompatibility with Darwin Libc
Paul Eggert [Tue, 11 Dec 2012 16:41:16 +0000 (08:41 -0800)]
extern-inline: avoid incompatibility with Darwin Libc

* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
Problem reported by Akim Demaille in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.

11 years agognupload: Work with GnuPG using gpg-agent (for smartcards).
Simon Josefsson [Tue, 11 Dec 2012 16:14:34 +0000 (17:14 +0100)]
gnupload: Work with GnuPG using gpg-agent (for smartcards).

* build-aux/gnupload: If GnuPG is configured to use gpg-agent,
let it handle password prompting.

11 years agocanonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
Eli Zaretskii [Mon, 10 Dec 2012 22:52:22 +0000 (14:52 -0800)]
canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes

* lib/canonicalize.c (canonicalize_filename_mode):
* lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
fetching the current directory.  Don't overrun the beginning of
rpath if there's no slashes after the MS-Windows drive letter.

11 years agomaint.mk: typofix in comments
Stefano Lattarini [Sat, 8 Dec 2012 17:09:18 +0000 (18:09 +0100)]
maint.mk: typofix in comments

11 years agomaint.mk: avoid extra forks
Stefano Lattarini [Sat, 8 Dec 2012 17:06:12 +0000 (18:06 +0100)]
maint.mk: avoid extra forks

* top/maint.mk (_cfg_mk): The GNU make manual documents that
"$(wildcard FILE)" expands to empty if FILE doesn't exist.
So use that instead of "$(shell test -f FILE && echo FILE)".

11 years agovasnprintf: fix ASCII_ONLY typo
Paul Eggert [Sat, 8 Dec 2012 03:31:34 +0000 (19:31 -0800)]
vasnprintf: fix ASCII_ONLY typo

* lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
* lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
* lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.

11 years agoautoupdate
Karl Berry [Fri, 7 Dec 2012 19:26:51 +0000 (11:26 -0800)]
autoupdate

11 years agolist, oset, xlist, xoset: fix extern inline issue with C99
Paul Eggert [Wed, 5 Dec 2012 21:20:25 +0000 (13:20 -0800)]
list, oset, xlist, xoset: fix extern inline issue with C99

This was introduced by my recent changes for 'inline'.
Problem reported for gettext by Daiki Ueno in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
* lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
(gl_list_nx_create, gl_list_size, gl_list_node_value)
(gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
(gl_list_previous_node, gl_list_get_at)
(gl_list_nx_set_at, gl_list_search, gl_list_search_from)
(gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
(gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
(gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
(gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
(gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
(gl_list_iterator_free, gl_sortedlist_search)
(gl_sortedlist_search_from_to, gl_sortedlist_indexof)
(gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
(gl_sortedlist_remove):
* lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
(gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
(gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
* lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
(gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
(gl_list_add_last, gl_list_add_before, gl_list_add_after)
(gl_list_add_at, gl_sortedlist_add):
* lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
Wrap these extern decls inside "#if 0", because they are implemented
as inline functions, and extern inline is not what's wanted here.
It would simplify these .h files to remove the extern decls entirely,
although a downside would be less-clear separation between
specification and implementation.

11 years agoautoupdate
Karl Berry [Tue, 4 Dec 2012 19:04:36 +0000 (11:04 -0800)]
autoupdate

11 years agosys_stat: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 07:13:14 +0000 (23:13 -0800)]
sys_stat: no 'static inline'

* lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.

11 years agoextern-inline: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
extern-inline: no 'static inline'

* m4/extern-inline.m4 (gl_EXTERN_INLINE):
Do not require AC_C_INLINE.
(_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
'static inline', for older compilers.

11 years agosnippet/warn-on-use: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
snippet/warn-on-use: no 'static inline'

* build-aux/snippet/warn-on-use.h:
Remove unnecessary 'inline' in comment.

11 years agorbtree-list, rbtreehash-list: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
rbtree-list, rbtreehash-list: no 'static inline'

* lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
* lib/gl_anytree_list2.h (node_at):
* lib/gl_anytreehash_list1.h (hash_resize_after_add)
(gl_oset_first, add_nodes_to_buckets):
Now static, not static inline.

11 years agoregex: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
regex: no 'static inline'

* lib/regex_internal.c (calc_state_hash):
* lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
(bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
(bitset_mask, re_string_char_size_at, re_string_wchar_at):
Now static, not static inline.
(inline) [__GNUC__ < 3 && _LIBC]:
Remove macro; no longer needed.

11 years agoxvasprintf: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:10 +0000 (22:25 -0800)]
xvasprintf: no 'static inline'

* lib/xvasprintf.c (xstrcat):
Now static, not static inline.
* m4/xvasprintf.m4 (gl_XVASPRINTF):
Do not require AC_C_INLINE.

11 years agoparse-datetime, parse-duration: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
parse-datetime, parse-duration: no 'static inline'

* lib/parse-datetime.y (to_uchar):
* lib/parse-duration.c (str_const_to_ul, str_const_to_l)
(scale_n_add):
Now static, not static inline.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME):
* modules/parse-duration (configure.ac):
Do not require AC_C_INLINE.

11 years agogetaddrinfo: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
getaddrinfo: no 'static inline'

* lib/getaddrinfo.c (validate_family):
Now static, not static inline.
* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
Do not require AC_C_INLINE.

11 years agoftruncate, fts, lstat, openat, raise: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
ftruncate, fts, lstat, openat, raise: no 'static inline'

* lib/ftruncate.c (chsize_nothrow):
* lib/fts.c (opendirat, diropen):
* lib/lstat.c (orig_lstat):
* lib/openat.c (orig_openat):
* lib/raise.c (raise_nothrow):
Now static, not static inline.
* m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
* m4/fts.m4 (gl_FUNC_FTS_CORE):
* m4/lstat.m4 (gl_PREREQ_LSTAT):
* m4/openat.m4 (gl_PREREQ_OPENAT):
* m4/raise.m4 (gl_PREREQ_RAISE):
Do not require AC_C_INLINE.

11 years agofflush, stat: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
fflush, stat: no 'static inline'

* lib/fflush.c (clear_ungetc_buffer_preserving_position)
(clear_ungetc_buffer, disable_seek_optimization)
(restore_seek_optimization, update_fpos_cache):
* lib/stat.c (orig_stat):
Now static, not static inline.
* lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
(update_fpos_cache):
Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
* m4/fflush.m4 (gl_PREREQ_FFLUSH):
* m4/stat.m4 (gl_PREREQ_STAT):
Do not require AC_C_INLINE.

11 years agoerror, filevercmp: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
error, filevercmp: no 'static inline'

* lib/error.c (is_open, flush_stdout):
* lib/filevercmp.c (order):
Now static, not static inline.
* m4/error.m4 (gl_PREREQ_ERROR):
* modules/filevercmp (configure.ac):
Do not require AC_C_INLINE.

11 years agodup, execute, fatal-signal, etc.: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:09 +0000 (22:25 -0800)]
dup, execute, fatal-signal, etc.: no 'static inline'

* lib/dup.c (dup_nothrow):
* lib/execute.c (nonintr_close, nonintr_open):
* lib/fatal-signal.c (uninstall_handlers, install_handlers):
* lib/fopen.c (orig_fopen):
* lib/freadseek.c (freadptrinc):
* lib/freopen.c (orig_freopen):
* lib/fstat.c (orig_fstat, fstat_nothrow):
* lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
(get_rusage_as_via_iterator):
* lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
* lib/getdtablesize.c (_setmaxstdio_nothrow):
* lib/isatty.c (_isatty_nothrow):
* lib/open.c (orig_open):
* lib/read.c (read_nothrow):
* lib/sigprocmask.c (signal_nothrow):
* lib/spawn-pipe.c (nonintr_close, nonintr_open):
* lib/vasnprintf.c (MAX_ROOM_NEEDED):
* lib/wait-process.c (unregister_slave_subprocess):
* lib/write.c (write_nothrow):
Now static, not static inline.
* lib/spawn-pipe.c (nonintr_open): Define only if
(defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
* m4/dup.m4 (gl_PREREQ_DUP):
* m4/execute.m4 (gl_EXECUTE):
* m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
* m4/fopen.m4 (gl_PREREQ_FOPEN):
* m4/freadseek.m4 (gl_FUNC_FREADSEEK):
* m4/freopen.m4 (gl_PREREQ_FREOPEN):
* m4/fstat.m4 (gl_PREREQ_FSTAT):
* m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
* m4/isatty.m4 (gl_PREREQ_ISATTY):
* m4/open.m4 (gl_PREREQ_OPEN):
* m4/read.m4 (gl_PREREQ_READ):
* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
* m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
* m4/wait-process.m4 (gl_WAIT_PROCESS):
* m4/write.m4 (gl_PREREQ_WRITE):
* modules/get-rusage-as, modules/get-rusage-data (configure.ac):
Do not require AC_C_INLINE.

11 years agoc-strtod, memcoll, readutmp: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
c-strtod, memcoll, readutmp: no 'static inline'

* lib/c-strtod.c (c_locale):
* lib/memcoll.c (strcoll_loop):
* lib/readutmp.c (desirable_utmp_entry):
Now static, not static inline.
* m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
* m4/memcoll.m4 (gl_MEMCOLL):
* m4/readutmp.m4 (gl_READUTMP):
Do not require AC_C_INLINE.

11 years agoarctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'

* lib/arctwo.c (to_uchar):
* lib/md4.c (set_uint32):
* lib/md5.c (set_uint32):
* lib/sha1.c (set_uint32):
* lib/sha256.c (set_uint32):
* lib/sha512.c (set_uint64):
Now static, not static inline.  This is a bit simpler, and doesn't
affect performance with GCC and default optimization.
* m4/arctwo.m4 (gl_ARCTWO):
* m4/md4.m4 (gl_MD4):
* m4/md5.m4 (gl_MD5):
* m4/sha1.m4 (gl_SHA1):
* m4/sha256.m4 (gl_SHA256):
* m4/sha512.m4 (gl_SHA512):
Do not require AC_C_INLINE.

11 years agocond, lock, thread: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
cond, lock, thread: better 'inline'

* lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
* lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
New macros.  Use them instead of static inline, for header functions.
* lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
(gl_waitqueue_notify_first, gl_waitqueue_notify_all):
* lib/glthread/lock.c (gl_waitqueue_init)
(gl_waitqueue_notify_first, gl_waitqueue_notify_all):
* lib/glthread/thread.c (get_current_thread_handle):
Change 'static inline' to 'inline'.
* lib/glthread/cond.h, lib/glthread/thread.h:
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/cond.m4 (gl_COND):
* m4/lock.m4 (gl_PREREQ_LOCK):
* m4/thread.m4 (gl_THREAD):
Do not require AC_C_INLINE.
* modules/cond, modules/thread (Depends-on): Add extern-inline.

11 years agochdir-long, cycle-check, savewd: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
chdir-long, cycle-check, savewd: better 'inline'

* lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
(find_non_slash):
* lib/cycle-check.c (is_zero_or_power_of_two):
* lib/savewd.c (savewd_delegating):
Change 'static inline' to 'inline'.
* lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
Replace all remaining uses of 'static inline' with it.
* lib/savewd.h:
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
* m4/cycle-check.m4 (gl_CYCLE_CHECK):
* m4/savewd.m4 (gl_SAVEWD):
Do not require AC_C_INLINE.
* modules/savewd (Depends-on): Add extern-inline.

11 years agobase32, base64: no need for 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
base32, base64: no need for 'inline'

* lib/base32.c (to_uchar, get_8, decode_8):
* lib/base64.c (to_uchar, get_4, decode_4):
Change 'static inline' to 'inline'.
* m4/base32.m4 (gl_PREREQ_BASE32):
* m4/base64.m4 (gl_PREREQ_BASE64):
Do not require AC_C_INLINE.

11 years agoarray-oset, linkedhash-list, rbtree-oset: no need for 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:08 +0000 (22:25 -0800)]
array-oset, linkedhash-list, rbtree-oset: no need for 'inline'

* lib/gl_array_oset.c (gl_array_nx_add_at):
(gl_array_remove_at):
* lib/gl_linkedhash_list.c (hash_resize_after_add)
(add_to_bucket, remove_from_bucket):
* lib/gl_rbtree_oset.c (rotate_left, rotate_right):
Change 'static inline' to 'static', as it's simpler to omit
'inline' unless there's a significant performance advantage.

11 years agolist, oset, xlist, xoset, xsublist: simplify via extern inline
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
list, oset, xlist, xoset, xsublist: simplify via extern inline

* lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
* lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
* lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
* lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
* lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
New macro.  Replace all uses of 'static inline' with it.
[HAVE_INLINE]: Implement functions as *_INLINE functions,
instead of as macros FOO that are defined to static inline
functions FOO_inline.
* lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
* lib/gl_xsublist.c:
Reimplement from scratch, by defining the corresponding *_INLINE
macro and including the corresponding .h file.  This is simpler.
* m4/gl_list.m4: Remove.
* modules/list, modules/oset, modules/xlist, modules/xoset:
(Files): Remove m4/gl_list.m4.
(configure.ac): Remove gl_LIST.
* modules/list, modules/oset, modules/xlist, modules/xoset:
* modules/xsublist:
(Depends-on): Depend on extern-inline, not inline.

11 years agoxalloc: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
xalloc: better 'inline'

* lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
New macro.  Replace all uses of 'static inline' with it.
(static_inline): Remove.
* lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
Let 'extern inline' do the work automatically, instead of doing
it by hand.
* m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
Remove.  All uses removed.
* modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.

11 years agogethrxtime: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
gethrxtime: better 'inline'

* lib/xtime.c: New file.
* lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
* lib/xtime.h (XTIME_INCLUDE):
New macros.  Replace all uses of 'static inline' with them.
* lib/gethrxtime.c (gethrxtime): Define only if
! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
this source file is now always compiled, because of the extern inline.
* lib/gethrxtime.h, lib/xtime.h:
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
if gethrtime works, as they're not needed in that case.
(gl_XTIME): Do not require AC_C_INLINE.
(gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
compiled now.  Move the check into gl_GETHRXTIME.
* modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
(Depends-on): Add extern-inline.
(configure.ac): gethrxtime is always compiled now.
(lib_SOURCES): Add gethrxtime.c.

11 years agowctype-h: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
wctype-h: better 'inline'

* lib/wctype-h.c: New file.
* lib/wctype.in.h (_GL_WCTYPE_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
* modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
(Depends-on): Add extern-inline.

11 years agounistd: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:07 +0000 (22:25 -0800)]
unistd: better 'inline'

* lib/unistd.c: New file.
* lib/unistd.in.h (_GL_UNISTD_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
* modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
(Depends-on): Add extern-inline.

11 years agosys_socket: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
sys_socket: better 'inline'

* lib/sys_socket.c: New file.
* lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
* modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
(Depends-on): Add extern-inline.

11 years agostdio: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
stdio: better 'inline'

* lib/stdio.c: New file.
* lib/stdio.in.h (_GL_STDIO_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
* modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
(Depends-on): Add extern-inline.

11 years agosigaction: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
sigaction: better 'inline'

* lib/sig-handler.c: New file.
* lib/sig-handler.h (SIG_HANDLER_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
* modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
(Depends-on): Add extern-inline.

11 years agoselinux-h: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
selinux-h: better 'inline'

* lib/se-context.c, lib/se-selinux.c: New files.
* lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
* lib/se-context.in.h (SE_CONTEXT_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* lib/se-selinux.in.h (SE_SELINUX_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* modules/selinux-h (Files, lib_SOURCES):
Add lib/se-context.c, lib/se-selinux.c.
(Depends-on): Add extern-inline.
(configure.ac): Do not require AC_C_INLINE.

11 years agopthread: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
pthread: better 'inline'

* lib/pthread.c: New file.
* lib/pthread.in.h (_GL_PTHREAD_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/pthread.m4 (gl_PTHREAD_CHECK):
Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
* modules/pthread (Files): Add lib/pthread.c.
(Depends-on): Add extern-inline.

11 years agomath: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:06 +0000 (22:25 -0800)]
math: better 'inline'

* lib/math.c: New file.
* lib/math.in.h (_GL_MATH_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/math_h.m4 (gl_MATH_H):
Do not require AC_C_INLINE.
* modules/math (Files, lib_SOURCES):
Add lib/math.c.
(Depends-on): Add extern-inline.

11 years agocount-one-bits: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:05 +0000 (22:25 -0800)]
count-one-bits: better 'inline'

* lib/count-one-bits.c: New file.
* lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
Do not require AC_C_INLINE.
* modules/count-one-bits (Files, lib_SOURCES):
Add lib/count-one-bits.c.
(Depends-on): Add extern-inline.

11 years agocount-leading-zeros: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:05 +0000 (22:25 -0800)]
count-leading-zeros: better 'inline'

* lib/count-leading-zeros.c: New file.
* lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
New macro.  Replace all uses of 'static inline' with it.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
Do not require AC_C_INLINE.
* modules/count-leading-zeros (Files, lib_SOURCES):
Add lib/count-leading-zeros.c.
(Depends-on): Add extern-inline.

11 years agobitrotate: better 'inline'
Paul Eggert [Wed, 21 Nov 2012 06:25:05 +0000 (22:25 -0800)]
bitrotate: better 'inline'

* lib/bitrotate.c: New file.
* lib/bitrotate.h (BITROTATE_INLINE):
New macros.
Replace all uses of 'static inline' with them.
Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
* modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
(Depends-on): Add extern-inline.
(configure.ac): Do not require AC_C_INLINE.

11 years agoautoupdate
Karl Berry [Wed, 28 Nov 2012 16:30:11 +0000 (08:30 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Tue, 27 Nov 2012 17:59:19 +0000 (09:59 -0800)]
autoupdate

11 years agomaint.mk: avoid gratuitous failure
Theophile Ranquet [Tue, 20 Nov 2012 10:38:45 +0000 (10:38 +0000)]
maint.mk: avoid gratuitous failure

Reported by Stefano Lattarini in
<http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
* top/maint.mk (public-submodule-commit): Quote more safely.

11 years agocanonicalize, canonicalize-lgpl: support MS-Windows file names
Eli Zaretskii [Tue, 20 Nov 2012 21:47:22 +0000 (13:47 -0800)]
canonicalize, canonicalize-lgpl: support MS-Windows file names

See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
for test cases, which it'd be nice to add at some point.
* lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
* lib/canonicalize.c (canonicalize_filename_mode):
* lib/canonicalize-lgpl.c (__realpath):
Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
slash is at the beginning of the file name.  Use ISSLASH, instead
of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
the first character with '/'.  Test for
DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
with a drive letter.
* lib/canonicalize.c (SLASHES): New macro.
(canonicalize_filename_mode): Use SLASHES instead of a literal "/".

11 years agofts: introduce FTS_VERBATIM
Dmitry V. Levin [Sun, 18 Nov 2012 00:40:18 +0000 (04:40 +0400)]
fts: introduce FTS_VERBATIM

This gives clients the option to disable stripping of trailing slashes
from input path names during fts_open initialization.

The recent change v0.0-7611-g3a9002d that made fts_open strip trailing
slashes from input path names had a negative impact on findutils that
relies on the old fts_open behavior to implement POSIX requirement that
each path operand of the find utility shall be evaluated unaltered as it
was provided, including all trailing slash characters.

* lib/fts_.h (FTS_VERBATIM): New bit flag.
(FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
* lib/fts.c (fts_open): Honor it.

11 years agoautoupdate
Karl Berry [Fri, 16 Nov 2012 16:02:09 +0000 (08:02 -0800)]
autoupdate

11 years agoautoupdate
Karl Berry [Sun, 11 Nov 2012 14:58:43 +0000 (06:58 -0800)]
autoupdate

11 years agogetlogin_r-tests: allow errno == ENXIO or ENOENT
Pádraig Brady [Fri, 9 Nov 2012 11:55:25 +0000 (11:55 +0000)]
getlogin_r-tests: allow errno == ENXIO or ENOENT

* tests/test-getlogin.c (main): Skip tests if getlogin fails
with errno == ENXIO (No controlling tty).
* tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
with errno == ENOENT.  This was reported to happen in various
situations on GNU/Linux.

11 years agogetlogin-tests: allow errno == ENOENT
Paul Eggert [Fri, 9 Nov 2012 09:03:33 +0000 (01:03 -0800)]
getlogin-tests: allow errno == ENOENT

* tests/test-getlogin.c (main): Skip tests if getlogin fails
with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
when running a test in an Emacs shell buffer.

11 years agotests/nap.h: avoid warning about unused variable
Jim Meyering [Fri, 9 Nov 2012 07:03:57 +0000 (23:03 -0800)]
tests/nap.h: avoid warning about unused variable

* tests/nap.h (nap_works): Remove now-unused declaration of "result".

11 years agoprefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
Jim Meyering [Thu, 8 Nov 2012 06:37:39 +0000 (22:37 -0800)]
prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition

* build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
white space before each of the special-cased file names, to avoid
adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
in http://bugs.gnu.org/12830.

11 years agoupdate from texinfo
Karl Berry [Thu, 8 Nov 2012 23:14:54 +0000 (15:14 -0800)]
update from texinfo

11 years agofcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
Paul Eggert [Thu, 8 Nov 2012 09:23:20 +0000 (01:23 -0800)]
fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY

O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
fails with errno == EBADF when fd is opened with O_PATH.
Reported by Jim Meyering in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
* doc/posix-headers/fcntl.texi (fcntl.h): Document this.
* lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.

11 years agotest-utimens: speed up by taking shorter naps
Paul Eggert [Thu, 8 Nov 2012 07:36:43 +0000 (23:36 -0800)]
test-utimens: speed up by taking shorter naps

* tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
New functions.
(nap): Use them, to do a better job of guessing the delay.
On Fedora 17 with ext4 atop md atop hard disks, this made
test-utimens run 10x faster, because the test napped for
1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
<http://bugs.gnu.org/12820#11>.

11 years agomountlist.c: fix a compilation failure
Jim Meyering [Thu, 8 Nov 2012 06:59:21 +0000 (22:59 -0800)]
mountlist.c: fix a compilation failure

* lib/mountlist.c (read_file_system_list): Fix a compilation failure
I introduced while transforming commit v0.0-7683-g613bcb6

11 years agoerrno: port to LynxOS 178 2.2.2
Paul Eggert [Thu, 1 Nov 2012 22:29:14 +0000 (15:29 -0700)]
errno: port to LynxOS 178 2.2.2

Problem reported by Joel Brobecker in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
* doc/posix-headers/errno.texi (errno.h): Document this.
* lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
* lib/strerror-override.c, lib/strerror-override.h (strerror_override):
Supply a string for EILSEQ.
* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.

11 years agofcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
Paul Eggert [Mon, 5 Nov 2012 21:53:36 +0000 (13:53 -0800)]
fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available

Linux kernel 2.6.39 introduced O_PATH (see
<http://lwn.net/Articles/433854/>) and this is a better fallback
for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
* doc/posix-headers/fcntl.texi (fcntl.h): Document this.
* lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
* lib/fcntl.in.h (O_ACCMODE):
* tests/test-fcntl-h.c (main):
Do not reject O_ACCMODE merely because it has more than the
minimal number of bits, as POSIX allows extensions here.

11 years agomountlist: do not classify a bind-mounted dir entry as "dummy"
Andrew Warshall [Mon, 5 Nov 2012 00:41:15 +0000 (16:41 -0800)]
mountlist: do not classify a bind-mounted dir entry as "dummy"

* lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
the "none"-testing clause.
(ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
exception for bind-mounted directories.
Copyright-paperwork-exempt: Yes

11 years agoquote: provide a means to escape strings with nul characters
Akim Demaille [Thu, 1 Nov 2012 13:47:03 +0000 (06:47 -0700)]
quote: provide a means to escape strings with nul characters

* lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
(quote, quote_n): Rename formal arguments for consistency with
quotearg.

11 years agotest-raise: don't assume 199 is an invalid signal
Paul Eggert [Tue, 30 Oct 2012 18:29:01 +0000 (11:29 -0700)]
test-raise: don't assume 199 is an invalid signal

* tests/test-raise.c (main): Don't assume 199 is not a signal number.

11 years agosh-quote-tests: port to Solaris 9
Paul Eggert [Tue, 30 Oct 2012 18:27:56 +0000 (11:27 -0700)]
sh-quote-tests: port to Solaris 9

* modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
Problem reported by Dagobert Michelsen in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.

11 years agomaint.mk: rename a new configurable variable
Jim Meyering [Sun, 28 Oct 2012 07:38:09 +0000 (08:38 +0100)]
maint.mk: rename a new configurable variable

* top/maint.mk (_gl_translatable_string_re): Rename from
translation-markers: _gl_ prefix to insulate from user Makefile code,
and the _re suffix to inform that it's a regular expression.

11 years agoautoupdate
Karl Berry [Mon, 29 Oct 2012 18:19:41 +0000 (11:19 -0700)]
autoupdate

11 years agomaint.mk: let packages tweak sc_po_check pattern
Eric Blake [Fri, 26 Oct 2012 16:19:56 +0000 (10:19 -0600)]
maint.mk: let packages tweak sc_po_check pattern

libosinfo wants to look for XML files with translation markers
of the form <_name>string to translate</_name>.  Rather than
globally adding this to the regex, I thought it would be easier
to make it possible for cfg.mk to override the default pattern.
https://www.redhat.com/archives/virt-tools-list/2012-October/msg00270.html

* top/maint.mk (sc_po_check): Add translation-markers, to allow
finding files with other translation markers.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoautoupdate
Karl Berry [Tue, 23 Oct 2012 23:41:32 +0000 (16:41 -0700)]
autoupdate

11 years agoeuidaccess: speed up 'configure' on GNU hosts
Paul Eggert [Wed, 17 Oct 2012 01:58:09 +0000 (18:58 -0700)]
euidaccess: speed up 'configure' on GNU hosts

* m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
it's needed only in this case.  Use AC_CHECK_DECLS, not
AC_CHECK_DECLS_ONCE.
(gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
or AC_REQUIRE for AC_FUNC_GETGROUPS.

11 years ago* lib/regexec.c (re_search_internal): Fix grammar in comment.
Paul Eggert [Tue, 16 Oct 2012 23:01:05 +0000 (16:01 -0700)]
* lib/regexec.c (re_search_internal): Fix grammar in comment.

11 years agofchmodat, fchownat, fstatat: port to non-inlining compilers
Paul Eggert [Mon, 15 Oct 2012 20:07:07 +0000 (13:07 -0700)]
fchmodat, fchownat, fstatat: port to non-inlining compilers

Problem reported for FreeBSD 9 by Jim Meyering in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
* lib/chmodat.c, lib/chownat.c, lib/statat.c:
New files, which define FCHMODAT_INLINE etc.
* lib/fchmodat.c (FCHMODAT_INLINE):
* lib/fchownat.c (FCHOWNAT_INLINE):
* lib/fstatat.c (FSTATAT_INLINE):
Remove, as chmodat.c etc. now do this.
* modules/fchmodat (Files): Add lib/chmodat.c.
* modules/fchownat (Files): Add lib/chownat.c.
* modules/fstatat (Files): Add lib/statat.c.

11 years agofchmodat.c, fchownat.c: fix compile-impeding typos
Jim Meyering [Mon, 15 Oct 2012 16:34:56 +0000 (18:34 +0200)]
fchmodat.c, fchownat.c: fix compile-impeding typos

* lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
* lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
Introduced in commit v0.0-7636-gd202279.

11 years agofcntl-h: support GNU flags like O_IGNORE_CTTY
Paul Eggert [Mon, 15 Oct 2012 16:31:07 +0000 (09:31 -0700)]
fcntl-h: support GNU flags like O_IGNORE_CTTY

* doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
systems.  Discovered when using fcntl-h with GNU Emacs, which uses
O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
* lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
Define to 0 if not already defined.
* tests/test-fcntl-h.c: Test these new flags.

11 years agofaccessat, etc.: support AT_FDCWD-only use
Paul Eggert [Mon, 15 Oct 2012 05:31:28 +0000 (22:31 -0700)]
faccessat, etc.: support AT_FDCWD-only use

* lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
this function only if its first argument is AT_FDCWD.
Emacs wants faccessat for AT_EACCESS but not for any first-arg
values other than AT_FDCWD, so it doesn't want all the openat
machinery with fchdir etc.
* modules/faccessat, modules/fchmodat, modules/fchownat (Files):
* modules/fstatat, modules/mkdirat, modules/openat (Files):
* modules/unlinkat (Files):
Remove lib/openat-priv.h, as at-internal supplies this file.
Removing this file here allows us to support programs like Emacs
that avoid at-internal.

11 years agofaccessat: speed up 'configure' on mainstream hosts
Paul Eggert [Mon, 15 Oct 2012 05:24:48 +0000 (22:24 -0700)]
faccessat: speed up 'configure' on mainstream hosts

* m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
since it's only on unusual platforms that we need to check for
'access', and it's better not to slow 'configure' down on all
platforms.

11 years agofaccessat: port to Solaris 10
Paul Eggert [Mon, 15 Oct 2012 05:22:19 +0000 (22:22 -0700)]
faccessat: port to Solaris 10

* lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
Needed on Solaris 10, which doesn't have AT_EACCESS,
so we need the Gnulib fcntl.h, which defines it.

11 years agocanonicalize: fix C89 compilation
Pádraig Brady [Mon, 15 Oct 2012 05:38:19 +0000 (22:38 -0700)]
canonicalize: fix C89 compilation

* lib/canonicalize.c (canonicalize_filename_mode): Swap order of
declarations so C89 is supported.  Also remove the comment
referencing mem allocation as the suggested feature could
not be implemented as suggested.
Reported by Michael Goffioul

11 years agoautoupdate
Karl Berry [Sat, 13 Oct 2012 22:14:05 +0000 (15:14 -0700)]
autoupdate

11 years agogroup-member: omit unnecessary dependencies
Paul Eggert [Fri, 12 Oct 2012 20:10:12 +0000 (13:10 -0700)]
group-member: omit unnecessary dependencies

This is for Emacs, which has its own allocator and where we
don't want to use xalloc.
* lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
since we no longer use xmalloc.  Do not include stdbool.h, since
the changes below happen to remove the only use of bool.
(GROUPBUF_SIZE): New constant.
(struct group_info): Remove n_groups member.  Add groupbuf member.
This lets us get the groups without using malloc, usually.
(free_group_info, get_group_info): Adjust to this.
(get_group_info): Return the number of groups found, or -1 on error.
Use plain malloc not xmalloc, and treat its failure as if there
are no groups, as the user already loses in case of error.
(group_member): Simplify, based on changes to get_group_info.
* modules/group-member (Depends-on): Remove dependencies on
xalloc and stdbool.  Add dependency on xalloc-oversized.

11 years agogethrxtime: port to C++
Alexandre Duret-Lutz [Mon, 8 Oct 2012 21:46:18 +0000 (14:46 -0700)]
gethrxtime: port to C++

* lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".

11 years agoptsname: fix macro-name typo
Paul Eggert [Fri, 5 Oct 2012 05:34:54 +0000 (22:34 -0700)]
ptsname: fix macro-name typo

* lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.

11 years agointtostr: Relax license.
Simon Josefsson [Wed, 3 Oct 2012 18:10:23 +0000 (20:10 +0200)]
inttostr: Relax license.

* modules/inttostr (License): Change from LGPL to LGPLv2+.

11 years agoptsname_r: support ptys returned by FreeBSD posix_openpt
Eric Blake [Wed, 3 Oct 2012 14:45:59 +0000 (08:45 -0600)]
ptsname_r: support ptys returned by FreeBSD posix_openpt

The recent change to ptsname exposed a latent bug in our ptsname_r
implementation on FreeBSD 8.2 - there, posix_openpt returns a
device where ttyname_r already lists it as /dev/pts/0.

* lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
lives in /dev/pts/.

11 years agopselect: reject invalid file descriptors
Eric Blake [Tue, 2 Oct 2012 22:50:57 +0000 (16:50 -0600)]
pselect: reject invalid file descriptors

Similar to the recent select fixes.

* m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
* lib/pselect.c (rpl_pselect) [!win32]: Work around it.
* modules/pselect (Depends-on): Add dup2.
* doc/posix-functions/pselect.texi (pselect): Document this.

11 years agoselect: reject invalid file descriptors
Eric Blake [Tue, 2 Oct 2012 21:29:13 +0000 (15:29 -0600)]
select: reject invalid file descriptors

POSIX requires invalid file descriptors to be detected rather than
silently ignored.  FreeBSD 8.2 detects if fd 0 has been closed
and appears in a set while fd 1 is still open, but mistakenly
optimizes and refuses to check any fds in the set beyond the
maximum open fd.

* m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
* lib/select.c (rpl_select) [!win32]: Work around it.
* modules/select (Depends-on): Add dup2.
* doc/posix-functions/select.texi (select): Document this.

11 years agoselect: enhance test
Eric Blake [Wed, 3 Oct 2012 01:38:24 +0000 (19:38 -0600)]
select: enhance test

Make sure the test is not picking up stale errno values, and add
a test for nfds validation.

* tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
New functions.
(test_function): Enhance test.
(do_select_bad_fd): Avoid any stale errno values.

11 years agoptsname: reject invalid file descriptors
Eric Blake [Tue, 2 Oct 2012 18:22:19 +0000 (12:22 -0600)]
ptsname: reject invalid file descriptors

POSIX left errno undefined on ptsname() failure, although there
has at least been an effort to specify reasonable values to use:
http://www.austingroupbugs.net/view.php?id=503

However, our tests for ptsname and ptsname_r already require errno
to be set to useful values (as in glibc), so it is worth replacing
ptsname on FreeBSD 8.2 in order to get better QoI and pass the test.

* m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
* modules/stdlib (Makefile.am): Replace witness.
* lib/stdlib.in.h (ptsname): Allow for replacement.
* modules/ptsname (configure.ac): Trigger replacement.
* doc/posix-functions/ptsname.texi (ptsname): Document this.

11 years agohash-pjw-bare: new module
Nikos Mavrogiannopoulos [Thu, 27 Sep 2012 06:42:07 +0000 (08:42 +0200)]
hash-pjw-bare: new module

* lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
* lib/hash-pjw-bare.h: Likewise.
* modules/hash-pjw-bare: New file.
* MODULES.html.sh (Misc): Add it.

Copyright-paperwork-exempt: yes

11 years agomanywarnings: cater to more gcc infelicities
Eric Blake [Thu, 6 Sep 2012 21:29:53 +0000 (15:29 -0600)]
manywarnings: cater to more gcc infelicities

Some versions of gcc (at least 4.2.1) noisily warn if
-Wuninitialized is given without -O; in isolation, configure
learns that the warning option is supported, but when later
compiling with -Werror, this makes builds fail.  If the
option will have no effect for the configured choice of
$CFLAGS, then it is not worth including in the set.

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
-Wuninitialized without -O.

Signed-off-by: Eric Blake <eblake@redhat.com>
11 years agoselect, poll tests: Make setsockopt invocation effective.
Ed Maste [Mon, 1 Oct 2012 23:48:22 +0000 (01:48 +0200)]
select, poll tests: Make setsockopt invocation effective.

* tests/test-poll.c (open_server_socket): Move setsockopt() call before
the bind() call.
* tests/test-select.h (open_server_socket): Likewise.

11 years agosockets, sys_stat: restore AC_C_INLINE
Paul Eggert [Sun, 30 Sep 2012 23:20:43 +0000 (16:20 -0700)]
sockets, sys_stat: restore AC_C_INLINE

This undoes the 2012-09-22 patch.
* m4/sockets.m4 (gl_SOCKETS):
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
Restore AC_C_INLINE, since MSVC requires __inline or _inline
and does not support plain 'inline'.  Reported by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.

11 years agolocaleconv tests: Avoid test failure on OpenIndiana.
Bruno Haible [Sun, 30 Sep 2012 21:39:03 +0000 (23:39 +0200)]
localeconv tests: Avoid test failure on OpenIndiana.

* tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
skip the 'grouping' and 'mon_grouping' tests.
Reported by Jim Meyering.

11 years agohavelib: Follow libtool developments.
Bruno Haible [Sun, 30 Sep 2012 21:21:26 +0000 (23:21 +0200)]
havelib: Follow libtool developments.

* m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
Suggested by Simon Josefsson.

11 years agoChangeLog: mention who reported the problem.
Jim Meyering [Sat, 29 Sep 2012 17:18:08 +0000 (19:18 +0200)]
ChangeLog: mention who reported the problem.

11 years agofstatat.c: fix a compile-impeding typo
Jim Meyering [Sat, 29 Sep 2012 17:13:21 +0000 (19:13 +0200)]
fstatat.c: fix a compile-impeding typo

* lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
Introduced in commit v0.0-7636-gd202279.