Paul Eggert [Fri, 27 May 2005 23:59:20 +0000 (23:59 +0000)]
* modules/fts (Files): Remove m4/inttypes-pri.m4.
* modules/fts-lgpl (Depends-on): Remove gettext.
* lib/fts.c: Don't worry about debugging on pre-C99-comopatible hosts;
the configuration hassle isn't worth it.
Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
(LONGEST_MODIFIER, PRIuMAX): Remove.
* m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
and don't require gt_INTTYPES_PRI.
Paul Eggert [Fri, 20 May 2005 23:07:53 +0000 (23:07 +0000)]
New fts module.
* MODULES.html.sh (File system functions): Add fts, fts-lgpl.
* lib/fts.c: Don't include "cycle-check.h" or "hash.h".
(setup_dir, free_dir): New functions.
(enter_dir, leave_dir): Define trivial
alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE.
(HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed.
(LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
(struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
Move to fts-cycle.c.
(fts_open): Use setup_dir.
(fts_close): Use free_dir.
(fts_read): Have just one copy of the ENTER_DIR code rather than three.
This adds a label and some gotos, but the alternatives were messier.
Check for memory allocation failure when entering a dir.
(fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
* lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
(FTS): New member fts_cycle, that is a union that contains the
old active_dir_ht and cycle_state. All uses changed to mention
fts_cycle.ht and fts_cycle.state.
* lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
fts.c, with the following changes:
(setup_dir, free_dir): New functions.
(enter_dir): Now returns bool. Return true if successful, false
if memory exhausted. All callers changed.
Do not bother partly cleaning up on
memory allocation failure; that is free_dir's job.
However, free ad if hash_insert fails, to avoid memory leak.
(enter_dir, leave_dir): Accommodate change to FTS by inspecting
fts->fts_options to see which union member to use.
* m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
(gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
* lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
Now a macro, to pacify GCC.
Paul Eggert [Wed, 18 May 2005 19:47:06 +0000 (19:47 +0000)]
* fts.c: Include fts_.h first, to check interface.
Do not include intprops.h; no longer needed.
Include cycle-check.h and hash.h, since fts_.h no longer does.
Remove unnecessary casts of closedir to void.
(fts_build): Use a simpler method (not involving TYPE_SIGNED) to
decide whether to decrement nlinks.
* fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
(FTS): Use struct hash_table * instead of Hash_table, so that
we no longer need to include hash.h here.
* fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
don't use its results.
Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
since we include them unconditionally. Don't require
AM_STDBOOL_H, since stdbool is a prerequisite.
Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
since we assume C89 or better.
Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
as we don't use their results.
Don't check for fchdir, memmove, memset, strrchr, as we use
them unconditionally.
Paul Eggert [Wed, 18 May 2005 19:46:16 +0000 (19:46 +0000)]
* lib/canonicalize.c: Include canonicalize.h first, to test interface.
Include <stddef.h> unconditionally, since we assume C89 now.
All uses of PTR_INT_TYPE replaced by ptrdiff_t.
* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
Don't check for stddef.h.
Paul Eggert [Sun, 15 May 2005 06:54:53 +0000 (06:54 +0000)]
* build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
this updates FSF postal mail address.
Paul Eggert [Sun, 15 May 2005 04:45:43 +0000 (04:45 +0000)]
Sync from coreutils.
* modules/yesno (Depends-on): Add getline.
* gethrxtime.c, gethrxtime.h, getpass.h, mountlist.h, path-concat.c,
regex.h, strtoll.c, unlocked-io.h, xtime.h:
White space changes only.
* makepath.c (make_path): Port to hosts where leading "//" is special.
* yesno.c: Include getline.h, not ctype.h.
(yesno): Don't remove leading white space; POSIX doesn't allow it.
Use getline to remove arbitrary restriction on response length.
Simon Josefsson [Tue, 10 May 2005 12:34:54 +0000 (12:34 +0000)]
getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
specified in ai_socktype. Fix invalid ai_protocol
check. ai_protocol is usually set to 0 or depending on
ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP. Checking for
SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid. Set
ai_socktype / ai_protocol in the returned addrinfo structure.
Simon Josefsson [Fri, 15 Apr 2005 09:06:26 +0000 (09:06 +0000)]
2005-04-15 Oskar Liljeblad <oskar@osk.mine.nu>
* gnulib-tool: Add -s, --symlink option to gnulib-tool to make
symbolic links to files instead of copying/moving. Add --aux-dir,
specifying directory relative --dir where auxiliary build tools
are placed.