]> Savannah Git Hosting - gnulib.git/log
gnulib.git
7 years agomodule: more efficient hash implementation
Dmitry Selyutin [Fri, 29 Sep 2017 15:51:05 +0000 (18:51 +0300)]
module: more efficient hash implementation

7 years agopygnulib.py: show banner notices
Dmitry Selyutin [Fri, 29 Sep 2017 07:16:29 +0000 (10:16 +0300)]
pygnulib.py: show banner notices

7 years agomodule: yet another fix in transitive closure; style changes
Dmitry Selyutin [Thu, 28 Sep 2017 21:51:41 +0000 (00:51 +0300)]
module: yet another fix in transitive closure; style changes

7 years agopygnulib.py: do not call transitive closure twice (copy & paste)
Dmitry Selyutin [Thu, 28 Sep 2017 21:13:18 +0000 (00:13 +0300)]
pygnulib.py: do not call transitive closure twice (copy & paste)

7 years agomodule: multiple statuses support; fixed transitive closure
Dmitry Selyutin [Thu, 28 Sep 2017 21:12:01 +0000 (00:12 +0300)]
module: multiple statuses support; fixed transitive closure

7 years agopygnulib.py: simplify license conflicts detection
Dmitry Selyutin [Thu, 28 Sep 2017 18:08:01 +0000 (21:08 +0300)]
pygnulib.py: simplify license conflicts detection

7 years agomodule: efficient hash implementation
Dmitry Selyutin [Thu, 28 Sep 2017 15:53:30 +0000 (18:53 +0300)]
module: efficient hash implementation

7 years agoparser: cleanup; allow empty options (--import in wget2)
Dmitry Selyutin [Thu, 28 Sep 2017 15:18:21 +0000 (18:18 +0300)]
parser: cleanup; allow empty options (--import in wget2)

7 years agopygnulib.py: inform about license incompatibilities
Dmitry Selyutin [Thu, 28 Sep 2017 14:05:59 +0000 (17:05 +0300)]
pygnulib.py: inform about license incompatibilities

7 years agopygnulib.py: transfer script name
Dmitry Selyutin [Thu, 28 Sep 2017 10:12:08 +0000 (13:12 +0300)]
pygnulib.py: transfer script name

7 years agoconfig: add GPL and LGPL to license sets
Dmitry Selyutin [Thu, 28 Sep 2017 10:10:25 +0000 (13:10 +0300)]
config: add GPL and LGPL to license sets

7 years agomodule: fix typo (is -> in)
Dmitry Selyutin [Thu, 28 Sep 2017 07:46:01 +0000 (10:46 +0300)]
module: fix typo (is -> in)

7 years agomodule: use list on line-by-line iteration
Dmitry Selyutin [Thu, 28 Sep 2017 07:05:15 +0000 (10:05 +0300)]
module: use list on line-by-line iteration

7 years agomodule: add missing argument
Dmitry Selyutin [Thu, 28 Sep 2017 07:03:35 +0000 (10:03 +0300)]
module: add missing argument

7 years agomodule: use sets instead of lists
Dmitry Selyutin [Thu, 28 Sep 2017 07:03:06 +0000 (10:03 +0300)]
module: use sets instead of lists

7 years agopygnulib.py: determine incompatible licenses
Dmitry Selyutin [Thu, 28 Sep 2017 07:00:49 +0000 (10:00 +0300)]
pygnulib.py: determine incompatible licenses

7 years agodeprecate LicenseSet (use a simple set); licenses constants
Dmitry Selyutin [Thu, 28 Sep 2017 06:58:25 +0000 (09:58 +0300)]
deprecate LicenseSet (use a simple set); licenses constants

7 years agouse libtests_required and dummy_required helpers
Dmitry Selyutin [Tue, 26 Sep 2017 19:41:19 +0000 (22:41 +0300)]
use libtests_required and dummy_required helpers

7 years agomodule: libtests_required and dummy_required helpers
Dmitry Selyutin [Tue, 26 Sep 2017 19:40:34 +0000 (22:40 +0300)]
module: libtests_required and dummy_required helpers

7 years agomodule: transform transitive closure back into function
Dmitry Selyutin [Tue, 26 Sep 2017 19:36:56 +0000 (22:36 +0300)]
module: transform transitive closure back into function

7 years agoparser: use LicenseSet.LGPL() dict
Dmitry Selyutin [Tue, 26 Sep 2017 14:46:13 +0000 (17:46 +0300)]
parser: use LicenseSet.LGPL() dict

7 years agoconfig: LGPL license dict; support gl_LGPL values
Dmitry Selyutin [Tue, 26 Sep 2017 14:43:37 +0000 (17:43 +0300)]
config: LGPL license dict; support gl_LGPL values

7 years agofix incorrect initial values for bitwise flags
Dmitry Selyutin [Tue, 26 Sep 2017 14:39:04 +0000 (17:39 +0300)]
fix incorrect initial values for bitwise flags

7 years agomodule: relax type check after the last commit
Dmitry Selyutin [Tue, 26 Sep 2017 07:13:38 +0000 (10:13 +0300)]
module: relax type check after the last commit

7 years agopygnulib: don't use Enums
Mathieu Lirzin [Mon, 25 Sep 2017 19:31:11 +0000 (21:31 +0200)]
pygnulib: don't use Enums

Enums are a recent features of Python. To maximize portability don't
use them.

* pygnulib/parser.py (CommandLine.Option): Don't inherit from enum.Flag.
* pygnulib/config.py (Option): Likewise.

7 years agoparser: support license set
Dmitry Selyutin [Mon, 25 Sep 2017 20:19:03 +0000 (23:19 +0300)]
parser: support license set

7 years agoconfig: use license set instead of lgpl
Dmitry Selyutin [Mon, 25 Sep 2017 20:14:04 +0000 (23:14 +0300)]
config: use license set instead of lgpl

7 years agoerror: split UnknownLicenseError into two classes
Dmitry Selyutin [Sun, 24 Sep 2017 20:08:39 +0000 (23:08 +0300)]
error: split UnknownLicenseError into two classes

7 years agothe pygnulib.py sketch
Dmitry Selyutin [Sun, 24 Sep 2017 19:09:55 +0000 (22:09 +0300)]
the pygnulib.py sketch

7 years agoparser: fix verbosity option
Dmitry Selyutin [Wed, 20 Sep 2017 08:12:40 +0000 (11:12 +0300)]
parser: fix verbosity option

7 years agorefactor transitive closure into module table
Dmitry Selyutin [Tue, 19 Sep 2017 19:40:10 +0000 (22:40 +0300)]
refactor transitive closure into module table

7 years agoerror: GnulibModuleNotFoundError -> UnknownModuleError
Dmitry Selyutin [Tue, 19 Sep 2017 19:38:03 +0000 (22:38 +0300)]
error: GnulibModuleNotFoundError -> UnknownModuleError

7 years agoconfig: support bitwise options
Dmitry Selyutin [Tue, 19 Sep 2017 19:36:59 +0000 (22:36 +0300)]
config: support bitwise options

7 years agomodule: fix applicability
Dmitry Selyutin [Tue, 19 Sep 2017 19:36:08 +0000 (22:36 +0300)]
module: fix applicability

7 years agofilesystem: fix transitive closure
Dmitry Selyutin [Mon, 18 Sep 2017 16:43:02 +0000 (19:43 +0300)]
filesystem: fix transitive closure

7 years agoparser: multiple bug fixes
Dmitry Selyutin [Mon, 18 Sep 2017 16:29:54 +0000 (19:29 +0300)]
parser: multiple bug fixes

7 years agoparser: use true option for --with-tests
Dmitry Selyutin [Mon, 18 Sep 2017 10:18:08 +0000 (13:18 +0300)]
parser: use true option for --with-tests

7 years agoparser: fix const option value
Dmitry Selyutin [Mon, 18 Sep 2017 10:17:39 +0000 (13:17 +0300)]
parser: fix const option value

7 years agofilesystem: remove redundant variable
Dmitry Selyutin [Sun, 17 Sep 2017 09:19:35 +0000 (12:19 +0300)]
filesystem: remove redundant variable

7 years agoimplement transitive_closure sketch
Dmitry Selyutin [Sat, 16 Sep 2017 19:34:26 +0000 (22:34 +0300)]
implement transitive_closure sketch

7 years agoparser: disable modules in update mode
Dmitry Selyutin [Sat, 16 Sep 2017 19:33:12 +0000 (22:33 +0300)]
parser: disable modules in update mode

7 years agomodule: strip empty lines and comments in lists
Dmitry Selyutin [Sat, 16 Sep 2017 19:31:18 +0000 (22:31 +0300)]
module: strip empty lines and comments in lists

7 years agomodule: quick status tests
Dmitry Selyutin [Sat, 16 Sep 2017 19:30:52 +0000 (22:30 +0300)]
module: quick status tests

7 years agoupdate documentation strings
Dmitry Selyutin [Fri, 15 Sep 2017 20:11:14 +0000 (23:11 +0300)]
update documentation strings

7 years agoconfig: regex compile wrapper
Dmitry Selyutin [Fri, 15 Sep 2017 19:51:21 +0000 (22:51 +0300)]
config: regex compile wrapper

7 years agomodule: directives as strings; dict-compatible methods
Dmitry Selyutin [Thu, 14 Sep 2017 16:42:14 +0000 (19:42 +0300)]
module: directives as strings; dict-compatible methods

7 years agoparser: support "extract" options
Dmitry Selyutin [Thu, 14 Sep 2017 16:38:23 +0000 (19:38 +0300)]
parser: support "extract" options

7 years agospecial "module not found" error
Dmitry Selyutin [Thu, 14 Sep 2017 16:37:26 +0000 (19:37 +0300)]
special "module not found" error

7 years agoerror: sort error classes in alphabetical order
Dmitry Selyutin [Thu, 14 Sep 2017 15:14:00 +0000 (18:14 +0300)]
error: sort error classes in alphabetical order

7 years agofilesystem: rename Git into GnulibGit
Dmitry Selyutin [Wed, 13 Sep 2017 19:18:03 +0000 (22:18 +0300)]
filesystem: rename Git into GnulibGit

7 years agoconfig: normalize file system paths
Dmitry Selyutin [Wed, 13 Sep 2017 19:17:26 +0000 (22:17 +0300)]
config: normalize file system paths

7 years agoparser: pass all arguments in one variable
Dmitry Selyutin [Wed, 13 Sep 2017 19:17:10 +0000 (22:17 +0300)]
parser: pass all arguments in one variable

7 years agofix AutoconfVersionError message formatting
Dmitry Selyutin [Wed, 13 Sep 2017 16:28:43 +0000 (19:28 +0300)]
fix AutoconfVersionError message formatting

7 years agocache: simplify parsing; handle m4_base mismatch
Dmitry Selyutin [Wed, 13 Sep 2017 16:26:46 +0000 (19:26 +0300)]
cache: simplify parsing; handle m4_base mismatch

7 years agocache: check for explicit keys upon construction
Dmitry Selyutin [Wed, 13 Sep 2017 15:35:31 +0000 (18:35 +0300)]
cache: check for explicit keys upon construction

7 years agoparser: initialize option values inside namespace
Dmitry Selyutin [Wed, 13 Sep 2017 15:31:14 +0000 (18:31 +0300)]
parser: initialize option values inside namespace

7 years agoparser: return dictionary instead of config
Dmitry Selyutin [Wed, 13 Sep 2017 15:11:31 +0000 (18:11 +0300)]
parser: return dictionary instead of config

7 years agocache: eliminate configure and m4 comments
Dmitry Selyutin [Wed, 13 Sep 2017 12:32:01 +0000 (15:32 +0300)]
cache: eliminate configure and m4 comments

7 years agocache: simplify cache constructor
Dmitry Selyutin [Wed, 13 Sep 2017 12:30:26 +0000 (15:30 +0300)]
cache: simplify cache constructor

7 years agodict improvements: iteration args, dict comprehension
Dmitry Selyutin [Tue, 12 Sep 2017 21:46:58 +0000 (00:46 +0300)]
dict improvements: iteration args, dict comprehension

7 years ago__init__.py, .pylintrc, .gitignore
Dmitry Selyutin [Tue, 12 Sep 2017 21:32:45 +0000 (00:32 +0300)]
__init__.py, .pylintrc, .gitignore

7 years agomiscellaneous bug fixes and improvements
Dmitry Selyutin [Tue, 12 Sep 2017 21:26:34 +0000 (00:26 +0300)]
miscellaneous bug fixes and improvements

7 years agoparser: enable options conflict once again
Dmitry Selyutin [Tue, 12 Sep 2017 18:35:24 +0000 (21:35 +0300)]
parser: enable options conflict once again

When the command-line parser was reworked, a mutually exclusive group
was deleted and check for conflicting options was eliminated as well.
The commit implements the lost feature in a more elegant way than it
has been done before, allowing more flexibility.

7 years agoconfig/cache: use the same keys as base class
Dmitry Selyutin [Tue, 12 Sep 2017 16:55:28 +0000 (19:55 +0300)]
config/cache: use the same keys as base class

7 years agoconfig/cache: simplify regular expressions
Dmitry Selyutin [Tue, 12 Sep 2017 16:47:11 +0000 (19:47 +0300)]
config/cache: simplify regular expressions

7 years agoparser: isolate command-line parser; richer parse() method
Dmitry Selyutin [Mon, 11 Sep 2017 21:28:07 +0000 (00:28 +0300)]
parser: isolate command-line parser; richer parse() method

7 years agoconfig: parser: suppress and override inactive arguments
Dmitry Selyutin [Mon, 11 Sep 2017 17:23:56 +0000 (20:23 +0300)]
config: parser: suppress and override inactive arguments

7 years agoconfig: clean and simplify parser a little bit
Dmitry Selyutin [Mon, 11 Sep 2017 17:23:02 +0000 (20:23 +0300)]
config: clean and simplify parser a little bit

7 years agomake command-line usage() and help() properties
Dmitry Selyutin [Sun, 10 Sep 2017 20:39:37 +0000 (23:39 +0300)]
make command-line usage() and help() properties

7 years agoconfig: split CommandLine into parts; custom exception handling
Dmitry Selyutin [Sat, 9 Sep 2017 20:41:42 +0000 (23:41 +0300)]
config: split CommandLine into parts; custom exception handling

7 years agoerror: formatting cleanup
Dmitry Selyutin [Sat, 9 Sep 2017 20:41:13 +0000 (23:41 +0300)]
error: formatting cleanup

7 years agoprivate import even for standard modules
Dmitry Selyutin [Sat, 9 Sep 2017 20:01:51 +0000 (23:01 +0300)]
private import even for standard modules

7 years agotype_assert helper (unify type error handling)
Dmitry Selyutin [Sat, 9 Sep 2017 19:54:55 +0000 (22:54 +0300)]
type_assert helper (unify type error handling)

7 years agoprivate import; yet another naming simplification
Dmitry Selyutin [Sat, 9 Sep 2017 18:58:23 +0000 (21:58 +0300)]
private import; yet another naming simplification

7 years agomodule: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 17:33:55 +0000 (20:33 +0300)]
module: do not export private class members into inherited classes

7 years agomodule: alternate naming for some properties
Dmitry Selyutin [Sat, 9 Sep 2017 17:22:10 +0000 (20:22 +0300)]
module: alternate naming for some properties

7 years ago[backport] Assume gnulib is checked out from Git, not CVS
Dmitry Selyutin [Sat, 9 Sep 2017 16:56:33 +0000 (19:56 +0300)]
[backport] Assume gnulib is checked out from Git, not CVS

commit 435f1d7ad985d95a6000e55e3fc398300b04ba12
Author: Stefano Lattarini <stefano.lattarini@gmail.com>
Date:   Sat May 4 10:30:14 2013 +0200

    Assume gnulib is checked out from Git, not CVS

    In fact, access to the gnulib repository through CVS has been disabled,
    or more precisely, got broken and was never restored; see:
    <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>

7 years ago[backport] gnulib-tool: fix incompatibility with autopoint 0.18.2
Dmitry Selyutin [Sat, 9 Sep 2017 16:48:53 +0000 (19:48 +0300)]
[backport] gnulib-tool: fix incompatibility with autopoint 0.18.2

commit 8e858e6d77dd239e9102626b292519eae170679a
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Sat Jan 5 08:03:10 2013 -0800

    gnulib-tool: fix incompatibility with autopoint 0.18.2

    * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
    Problem reported by Tom G. Christensen in
    <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.

7 years agogenerator: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:42:55 +0000 (19:42 +0300)]
generator: do not export private class members into inherited classes

7 years agofilesystem: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:42:34 +0000 (19:42 +0300)]
filesystem: do not export private class members into inherited classes

7 years agoconfig: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:35:00 +0000 (19:35 +0300)]
config: do not export private class members into inherited classes

7 years agoalmost full support of command-line options (except --version)
Dmitry Selyutin [Sat, 9 Sep 2017 16:20:34 +0000 (19:20 +0300)]
almost full support of command-line options (except --version)

7 years ago[python] python gnulib API development branch
Dmitry Selyutin [Fri, 8 Sep 2017 20:35:13 +0000 (23:35 +0300)]
[python] python gnulib API development branch

7 years ago* lib/fts.c: Fix XFS comments.
Paul Eggert [Fri, 8 Sep 2017 16:35:53 +0000 (09:35 -0700)]
* lib/fts.c: Fix XFS comments.

7 years agostddef: Avoid conflict with system-defined max_align_t.
Bruno Haible [Fri, 8 Sep 2017 08:02:47 +0000 (10:02 +0200)]
stddef: Avoid conflict with system-defined max_align_t.

The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
Reported by Werner Lemberg <wl@gnu.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00185.html>.

* lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
(max_align_t): Define as a macro.
(GNULIB_defined_max_align_t): New macro. Guards against multiple
definitions of rpl_max_align_t in different copies of gnulib-generated
<stddef.h>.

7 years agolibc-config: port to MSVC
Paul Eggert [Wed, 6 Sep 2017 06:32:59 +0000 (23:32 -0700)]
libc-config: port to MSVC

Problems reported by Gisle Vanem in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00016.html
* lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
(libc_hidden_proto): Stick to Standard C syntax for varargs macro.
* m4/__inline.m4: New file.
* modules/libc-config (Files): Add it.
(Depends-on): Use it.

7 years agoglob: Use enum for __glob_pattern_type result
Paul Eggert [Wed, 6 Sep 2017 04:14:51 +0000 (21:14 -0700)]
glob: Use enum for __glob_pattern_type result

From a patch proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
* lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
(GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
* lib/glob_internal.h (__glob_pattern_type):
* lib/glob.c (glob):
* lib/glob_pattern_p.c (__glob_pattern_p):
Use them.

7 years agoglob: fix for use in glibc
Paul Eggert [Wed, 6 Sep 2017 01:58:50 +0000 (18:58 -0700)]
glob: fix for use in glibc

Problem reported by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
* lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
Do not redefine if _LIBC.

7 years agoglob: fix bugs with long login names
Paul Eggert [Sat, 2 Sep 2017 22:39:16 +0000 (15:39 -0700)]
glob: fix bugs with long login names

Problem reported by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
* lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
(glob): Use the same scratch buffer for both getlogin_r and
getpwnam_r.  Don’t require preallocation of the login name.  This
simplifies storage allocation, and corrects the handling of
long login names.

7 years agodirent: Update doc.
Bruno Haible [Sat, 2 Sep 2017 11:14:00 +0000 (13:14 +0200)]
dirent: Update doc.

* doc/posix-headers/dirent.texi: More concrete list of platforms.

7 years agoglob: fix getpwnam_r errno typo
Paul Eggert [Sat, 2 Sep 2017 10:56:06 +0000 (03:56 -0700)]
glob: fix getpwnam_r errno typo

* lib/glob.c (glob): Fix longstanding misuse of errno after
getpwnam_r, which returns an error number rather than setting
errno.

7 years agoglob: fix typo in recent change
Paul Eggert [Sat, 2 Sep 2017 10:37:46 +0000 (03:37 -0700)]
glob: fix typo in recent change

* lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
Fix recently-introduced typo.

7 years agoglob: don't save and restore errno unnecessarily
Paul Eggert [Sat, 2 Sep 2017 09:05:09 +0000 (02:05 -0700)]
glob: don't save and restore errno unnecessarily

* lib/glob.c (glob): Don't save and restore errno
merely because we have getpwnam_r.

7 years agoglob: don't assume getpwnam_r
Paul Eggert [Sat, 2 Sep 2017 09:00:40 +0000 (02:00 -0700)]
glob: don't assume getpwnam_r

* lib/glob.c (glob): Port recent patches to platforms
lacking getpwnam_r.

7 years agoscratch_buffer: don’t use private glibc API
Paul Eggert [Sat, 2 Sep 2017 08:21:03 +0000 (01:21 -0700)]
scratch_buffer: don’t use private glibc API

Suggested by Florian Weimer in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00004.html
* lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
* lib/scratch_buffer_grow.c: Rename to
lib/malloc/scratch_buffer_grow.c.
* lib/scratch_buffer_grow_preserve.c: Rename to
lib/malloc/scratch_buffer_grow_preserve.c.
* lib/scratch_buffer_set_array_size.c: Rename to
lib/malloc/scratch_buffer_set_array_size.c.
* lib/scratch_buffer.h: New file.
* modules/scratch_buffer (Files, Makefile.am):
Adjust to source-file renaming.

7 years agoglob: use scratch_buffer instead of extend_alloca
Paul Eggert [Fri, 1 Sep 2017 22:41:45 +0000 (15:41 -0700)]
glob: use scratch_buffer instead of extend_alloca

Much of the lib/glob.c part of this patch comes from a glibc patch
proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
* lib/glob.c: Do not include <config.h>, since <libc-config.h>,
included via glob.h, does this for us now.
(__set_errno): Remove, as libc-config does this for us now.
Include <scratch_buffer.h>.
(GETPW_R_SIZE_MAX): Remove.
(glob): Use struct scratch_buffer instead of extend_alloca.
* lib/glob.in.h: Include libc-config.h rather than
including <sys/cdefs.h> conditionally.
(__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
(__glibc_unlikely, __restrict, weak_alias):
Remove, as libc-config does this for us now.
* m4/glob.m4 (gl_PREREQ_GLOB):
Remove sys/cdefs.h tests; no longer needed.
* modules/glob (Depends-on): Add libc-config, scratch_buffer.
(glob.h): Do not replace HAVE_SYS_CDEFS_H.

7 years agoscratch_buffer: new module
Paul Eggert [Fri, 1 Sep 2017 21:42:53 +0000 (14:42 -0700)]
scratch_buffer: new module

* lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
* lib/scratch_buffer_grow_preserve.c:
* lib/scratch_buffer_set_array_size.c:
New files, copied from glibc with very minor changes that can be
copied back.
* modules/scratch_buffer: New file.

7 years agolibc-config: new module
Paul Eggert [Fri, 1 Sep 2017 21:40:58 +0000 (14:40 -0700)]
libc-config: new module

* MODULES.html.sh: Add libc-config.
* lib/cdefs.h: New file, copied from the GNU C Library with very
minor changes that can be copied back.
* lib/libc-config.h, modules/libc-config: New files.

7 years agoglob: match dangling symlinks
Paul Eggert [Thu, 31 Aug 2017 21:34:25 +0000 (14:34 -0700)]
glob: match dangling symlinks

This fixes a bug I inadvertently introduced to Gnulib when I
merged glibc glob back into gnulib on 2007-10-16.  This fix is
inspired by a patch proposed for glibc by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
* doc/posix-functions/glob.texi: Update list of affected platforms.
* lib/glob.c (__lstat64): New macro.
(is_dir): New function.
(glob, glob_in_dir): Match symlinks even if they are dangling.
(link_stat, link_exists_p): Remove.  All uses removed.
* lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
* m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
* modules/glob (Depends-on): Remove dirfd.
* modules/glob-tests (Depends-on): Add symlink.
* tests/test-glob.c: Include errno.h, unistd.h.
(BASE): New macro.
(main): Test dangling symlinks, if symlinks are supported.

7 years agoglob, backupfile: inode 0 is a valid inode number
Paul Eggert [Thu, 31 Aug 2017 21:34:24 +0000 (14:34 -0700)]
glob, backupfile: inode 0 is a valid inode number

* doc/posix-functions/readdir.texi (readdir):
* doc/posix-headers/dirent.texi (dirent.h):
Document more readdir portability issues.
* lib/backupfile.c (REAL_DIR_ENTRY): Remove.
(numbered_backup): Don’t treat inode 0 any differently from
other inode values.
* lib/glob.c (struct readdir_result): Remove skip_entry member.
(readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
All uses removed.
* modules/glob (Depends-on): Remove d-ino.