summaryrefslogtreecommitdiff
path: root/modules/canonicalize-lgpl
Commit message (Collapse)AuthorAgeFilesLines
* canonicalize, canonicalize-lgpl: Straighten dependencies.Bruno Haible2021-01-311-2/+1
| | | | | | | * modules/canonicalize-lgpl (Depends-on): Remove free-posix, malloc-posix. Add unistd. * modules/canonicalize (Depends-on): Remove free-posix, xalloc. Add unistd.
* canonicalize: fix ptrdiff_t overflow bugPaul Eggert2020-12-291-0/+1
| | | | | | | | | | | | | | Problem reported by Adhemerval Zanella in: https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html * lib/canonicalize-lgpl.c, lib/canonicalize.c: Include intprops.h. (NARROW_ADDRESSES): New constant. * lib/canonicalize-lgpl.c (realpath_stk):m * lib/canonicalize.c (canonicalize_filename_mode_stk): Work even if strlen (END) does not fit in idx_t, or if adding N to it overflows. * modules/canonicalize, modules/canonicalize-lgpl (Depends-on): Add intprops.
* faccessat: revert recent EOVERFLOW changePaul Eggert2020-12-281-1/+0
| | | | | | | | | | | | | | | I misunderstood the glibc source code. Deduced from Adhemerval Zanella’s proposed glibc patch in: https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html * doc/posix-functions/faccessat.texi: It is not a problem. * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c: (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed. * lib/faccessat.c: Revert to simpler version now that LSTAT_FOLLOWS_SLASHED_SYMLINK must be false. * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): Remove. All uses removed. * modules/canonicalize, modules/canonicalize-lgpl (Files): Remove m4/faccessat.m4.
* canonicalize-lgpl: use eloop-thresholdPaul Eggert2020-12-241-0/+1
| | | | | | * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h. (MAXSYMLINKS, __eloop_threshold): Remove. * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
* canonicalize: prefer faccessat to statPaul Eggert2020-12-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A proper faccessat doesn't have the EOVERFLOW problem, and can be more efficient as it needn't gather data from the filesystem to fill in struct stat. So use stat only if faccessat is absent, or when checking for symlink loops in canonicalize.c. * lib/canonicalize-lgpl.c, lib/canonicalize.c: Include fcntl.h, for AT_EACCESS. (FACCESSAT_NEVER_EOVERFLOWS): Default to false. (file_accessible): New function, based on faccessat but with a fallback to stat and with an EOVERFLOW workaround. (dir_check): Use it. (dir_suffix): New static constant. * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]: Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS (__faccessat) [!_LIBC]: Define. (realpath_stk): Use dir_suffix now. * lib/canonicalize.c (canonicalize_filename_mode_stk): If logical, don't check each component's existence; just check at the end, as that's enough. * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) (gl_CANONICALIZE_LGPL_SEPARATE): Require gl_FUNC_FACCESSAT_EOVERFLOW, gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat. (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink, as the code does not use HAVE_READLINK. * modules/canonicalize, modules/canonicalize-lgpl (Files): Add m4/faccessat.m4, m4/lstat.m4. (Depends-on): Add fcntl-lh.
* free-posix: New module, renamed from 'free'.Bruno Haible2020-12-191-1/+1
| | | | | | | | | | | | | | | * modules/free-posix: Renamed from modules/free. (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX, not GNULIB_FREE. * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not GNULIB_FREE. * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE. * doc/posix-functions/free.texi: Mention the module 'free-posix' and what it does. * NEWS: Mention that module 'free' no longer exists. * modules/canonicalize (Depends-on): Add free-posix. Remove free. * modules/canonicalize-lgpl (Depends-on): Likewise.
* canonicalize-lgpl: fix AIX test failuresPaul Eggert2020-12-171-0/+2
| | | | | | | | | | This merges the recent canonicalize.c fix into canonicalize-lgpl.c. Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html * lib/canonicalize-lgpl.c: Include sys/stat.h. (__realpath): When testing a file name ending in '/', use stat rather than readlink, so that it does the right thing on AIX. * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
* canonicalize: remove arbitrary 8192-byte limitPaul Eggert2020-12-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove canonicalize.c’s arbitrary 8192-byte limit on platforms like GNU Hurd that do not define the PATH_MAX macro, and similarly for canonicalize-lgpl.c’s arbitrary 1024-byte limit. Do this by using scratch buffers. Lessen the number of differences between the two source files, to simplify this and future maintenance. * lib/canonicalize-lgpl.c (__realpath): * lib/canonicalize.c (canonicalize_filename_mode_stk): Use scratch buffers instead of malloc and malloca. This avoids the need for alloca, and avoids the need for malloc in most cases. * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files easier to compare, e.g., by sorting include files and by switching to the GNU convention of calling file names "file names", not "path names". Include stdbool.h, scratch_buffer.h. * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro. (malloca) [_LIBC]: Remove. [!_LIBC]: Do not include malloca.h. (get_path_max): New function, so that pathconf is called only in the rare and dubious case when when RESOLVED is not null and PATH_MAX is not defined. Invoke pathconf on "/" not the input file name, as we care about the longest file name starting from "/" (not from the input file name), and POSIX does not specify what pathconf does on a non-directory file anyway. If PATH_MAX is not defined, do not worry about overriding a path_max of 0, and do not let path_max exceed IDX_MAX. (__realpath): Remove an assumption that file name components cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for the Hurd, presumably). When allocating the result, allocate it to just the right size; this costs nothing when the result is smaller than 1023 bytes, and for larger results it's probably worth the CPU to call realloc, as canonicalize.c already does. * lib/canonicalize.c: Include attribute.h. Do not include pathmax.h or xgetcwd.h. (PATH_MAX): Do not define, so file names longer than 8192 bytes work on platforms with no fixed limit. (canonicalize_filename_mode_stk): New function, with the content of the old canonicalize_filename_mode. Use getcwd instead of xgetcwd, and readlink instead of areadlink, since the scratch buffers now do memory management for us. Use rawmemchr instead of adding strlen. Use mempcpy instead of mempcpy + size. Assume free preserves errno. (canonicalize_filename_mode): Use it. * modules/canonicalize (Depends-on): Remove areadlink, pathmax, xgetcwd. Add attribute, free, getcwd, mempcpy, rawmemchr, scratch_buffer, stdbool, xalloc-die. * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt, malloca, realloc-posix. Add scratch_buffer, stdbool.
* canonicalize-lgpl: simplify merge to glibcPaul Eggert2020-12-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch lessens the differences between git glibc stdlib/canonicalize.c and lib/canonicalize-lgpl.c. The (perhaps wishful) goal is to make them identical. * lib/canonicalize-lgpl.c [!_LIBC]: Include <libc-config.h>, not config.h. Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC) #if. Do not include alloca.h, since we use malloca now. [_LIBC]: Include <eloop-threshold.h>, and define dummy macros FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca, freea so that the mainline code can be kept #ifdef free. [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol, compat_symbol, weak_alias, __set_errno since libc-config.h does that. Add redirecting macros __mempcpy, __pathconf, __rawmemchr, __eloop_threshold. All uses of their definiens changed. (SIZE_MAX): Remove; no longer needed. (alloc_failed): Remove, and remove all instances. No need for alloc_failed now that free preserves errno. (__realpath): Default path_max to 1024 instead of 8192, as that’s the glibc tradition and is safer when the 2nd argument is null. Use __rawmemchr instead of strchr. Use __mempcpy where appropriate. Simplify test for overflow so that it does not need SIZE_MAX. Do not preserve errno around free or freea calls; no longer needed. Mark __realpath with libc_hidden_def. * modules/canonicalize-lgpl (Depends-on): Add free, libc-config, malloc-posix, mempcpy, realloc-posix, rawmemchr. * modules/free: Now LGPLv2+, for canonicalize-lgpl.
* idx: New module.Bruno Haible2020-12-031-0/+1
| | | | | | | | | | * lib/idx.h: New file. * modules/idx: New file. * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of ptrdiff_t. * lib/canonicalize.c: Likewise. * modules/canonicalize-lgpl (Depends-on): Add idx. * modules/canonicalize (Depends-on): Likewise.
* canonicalize-lgpl: fix EOVERFLOW bugPaul Eggert2020-12-021-2/+0
| | | | | | | * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>. (__realpath): Do not use lstat. Just use readlink, as this suffices and it avoids the EOVERFLOW problem that lstat has. * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
* Clarify dependencies to double-slash-root.Bruno Haible2020-07-081-9/+10
| | | | | | | * modules/canonicalize (Files): Remove m4/double-slash-root.m4. (Depends-on): Add double-slash-root. * modules/canonicalize-lgpl (Depends-on): Add double-slash-root. * modules/dirname-lgpl (Depends-on): Add double-slash-root.
* Use module 'filename' instead of module 'dosname'.Bruno Haible2020-03-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/at-func.c: Include filename.h instead of dosname.h. * lib/unlinkat.c: Likewise. * modules/areadlinkat (Depends-on): Add filename. Remove dosname. * modules/areadlinkat-with-size (Depends-on): Likewise. * modules/faccessat (Depends-on): Likewise. * modules/fchmodat (Depends-on): Likewise. * modules/fchownat (Depends-on): Likewise. * modules/fstatat (Depends-on): Likewise. * modules/mkdirat (Depends-on): Likewise. * modules/mkfifoat (Depends-on): Likewise. * modules/readlinkat (Depends-on): Likewise. * modules/selinux-at (Depends-on): Likewise. * modules/symlinkat (Depends-on): Likewise. * modules/unlinkat (Depends-on): Likewise. * modules/utimensat (Depends-on): Likewise. * lib/at-func2.c: Include filename.h instead of dosname.h. * modules/linkat (Depends-on): Add filename. Remove dosname. * modules/renameatu (Depends-on): Likewise. * lib/canonicalize.c: Include filename.h instead of dosname.h. * lib/canonicalize-lgpl.c: Likewise. * modules/canonicalize (Depends-on): Add filename. * modules/canonicalize-lgpl (Depends-on): Likewise. * lib/dirname.h: Include filename.h instead of dosname.h. * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname. * lib/fchdir.c: Include filename.h instead of dosname.h. * modules/fchdir (Depends-on): Add filename. Remove dosname. * lib/openat.c: Include filename.h instead of dosname.h. * modules/openat (Depends-on): Add filename. Remove dosname. * lib/rmdir.c: Include filename.h instead of dosname.h. * modules/rmdir (Depends-on): Add filename. Remove dosname. * lib/savewd.c: Include filename.h instead of dosname.h. * modules/savewd (Depends-on): Add filename. Remove dosname. * lib/unlink.c: Include filename.h instead of dosname.h. * modules/unlink (Depends-on): Add filename. Remove dosname. * modules/relocatable-prog-wrapper (Depends-on): Add filename. * lib/relocwrapper.c: Update comments. * modules/lstat (Depends-on): Remove dosname.
* canonicalize-lgpl: fix typoPaul Eggert2018-01-171-1/+1
| | | | Problem reported by Reuben Thomas.
* Bruno Haible has stepped down as maintainer.Paul Eggert2014-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See Karl Berry in: http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00004.html Daiki Ueno has volunteered to maintain libunistring; see: http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00005.html * modules/gen-uni-tables, modules/libunistring: * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8: * modules/unicase/base, modules/unicase/cased: * modules/unicase/empty-prefix-context: * modules/unicase/empty-suffix-context, modules/unicase/ignorable: * modules/unicase/locale-language, modules/unicase/special-casing: * modules/unicase/tocasefold, modules/unicase/tolower: * modules/unicase/totitle, modules/unicase/toupper: * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll: * modules/unicase/u16-casefold, modules/unicase/u16-casemap: * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold: * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle: * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased: * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant: * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase: * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context: * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower: * modules/unicase/u16-totitle, modules/unicase/u16-toupper: * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll: * modules/unicase/u32-casefold, modules/unicase/u32-casemap: * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold: * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle: * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased: * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant: * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase: * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context: * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower: * modules/unicase/u32-totitle, modules/unicase/u32-toupper: * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll: * modules/unicase/u8-casefold, modules/unicase/u8-casemap: * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold: * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle: * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased: * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant: * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase: * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context: * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower: * modules/unicase/u8-totitle, modules/unicase/u8-toupper: * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll: * modules/unicase/ulc-casexfrm, modules/unicodeio: * modules/uniconv/base, modules/uniconv/u16-conv-from-enc: * modules/uniconv/u16-conv-to-enc: * modules/uniconv/u16-strconv-from-enc: * modules/uniconv/u16-strconv-from-locale: * modules/uniconv/u16-strconv-to-enc: * modules/uniconv/u16-strconv-to-locale: * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc: * modules/uniconv/u32-strconv-from-enc: * modules/uniconv/u32-strconv-from-locale: * modules/uniconv/u32-strconv-to-enc: * modules/uniconv/u32-strconv-to-locale: * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc: * modules/uniconv/u8-strconv-from-enc: * modules/uniconv/u8-strconv-from-locale: * modules/uniconv/u8-strconv-to-enc: * modules/uniconv/u8-strconv-to-locale, modules/unictype/base: * modules/unictype/bidicategory-all: * modules/unictype/bidicategory-byname: * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of: * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all: * modules/unictype/bidiclass-byname: * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name: * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test: * modules/unictype/block-all, modules/unictype/block-list: * modules/unictype/block-of, modules/unictype/block-test: * modules/unictype/category-C, modules/unictype/category-Cc: * modules/unictype/category-Cf, modules/unictype/category-Cn: * modules/unictype/category-Co, modules/unictype/category-Cs: * modules/unictype/category-L, modules/unictype/category-LC: * modules/unictype/category-Ll, modules/unictype/category-Lm: * modules/unictype/category-Lo, modules/unictype/category-Lt: * modules/unictype/category-Lu, modules/unictype/category-M: * modules/unictype/category-Mc, modules/unictype/category-Me: * modules/unictype/category-Mn, modules/unictype/category-N: * modules/unictype/category-Nd, modules/unictype/category-Nl: * modules/unictype/category-No, modules/unictype/category-P: * modules/unictype/category-Pc, modules/unictype/category-Pd: * modules/unictype/category-Pe, modules/unictype/category-Pf: * modules/unictype/category-Pi, modules/unictype/category-Po: * modules/unictype/category-Ps, modules/unictype/category-S: * modules/unictype/category-Sc, modules/unictype/category-Sk: * modules/unictype/category-Sm, modules/unictype/category-So: * modules/unictype/category-Z, modules/unictype/category-Zl: * modules/unictype/category-Zp, modules/unictype/category-Zs: * modules/unictype/category-all, modules/unictype/category-and: * modules/unictype/category-and-not, modules/unictype/category-byname: * modules/unictype/category-longname, modules/unictype/category-name: * modules/unictype/category-none, modules/unictype/category-of: * modules/unictype/category-or, modules/unictype/category-test: * modules/unictype/category-test-withtable: * modules/unictype/combining-class: * modules/unictype/combining-class-all: * modules/unictype/combining-class-byname: * modules/unictype/combining-class-longname: * modules/unictype/combining-class-name, modules/unictype/ctype-alnum: * modules/unictype/ctype-alpha, modules/unictype/ctype-blank: * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit: * modules/unictype/ctype-graph, modules/unictype/ctype-lower: * modules/unictype/ctype-print, modules/unictype/ctype-punct: * modules/unictype/ctype-space, modules/unictype/ctype-upper: * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit: * modules/unictype/digit, modules/unictype/joininggroup-all: * modules/unictype/joininggroup-byname: * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of: * modules/unictype/joiningtype-all: * modules/unictype/joiningtype-byname: * modules/unictype/joiningtype-longname: * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of: * modules/unictype/mirror, modules/unictype/numeric: * modules/unictype/property-all, modules/unictype/property-alphabetic: * modules/unictype/property-ascii-hex-digit: * modules/unictype/property-bidi-arabic-digit: * modules/unictype/property-bidi-arabic-right-to-left: * modules/unictype/property-bidi-block-separator: * modules/unictype/property-bidi-boundary-neutral: * modules/unictype/property-bidi-common-separator: * modules/unictype/property-bidi-control: * modules/unictype/property-bidi-embedding-or-override: * modules/unictype/property-bidi-eur-num-separator: * modules/unictype/property-bidi-eur-num-terminator: * modules/unictype/property-bidi-european-digit: * modules/unictype/property-bidi-hebrew-right-to-left: * modules/unictype/property-bidi-left-to-right: * modules/unictype/property-bidi-non-spacing-mark: * modules/unictype/property-bidi-other-neutral: * modules/unictype/property-bidi-pdf: * modules/unictype/property-bidi-segment-separator: * modules/unictype/property-bidi-whitespace: * modules/unictype/property-byname: * modules/unictype/property-case-ignorable: * modules/unictype/property-cased: * modules/unictype/property-changes-when-casefolded: * modules/unictype/property-changes-when-casemapped: * modules/unictype/property-changes-when-lowercased: * modules/unictype/property-changes-when-titlecased: * modules/unictype/property-changes-when-uppercased: * modules/unictype/property-combining: * modules/unictype/property-composite: * modules/unictype/property-currency-symbol: * modules/unictype/property-dash: * modules/unictype/property-decimal-digit: * modules/unictype/property-default-ignorable-code-point: * modules/unictype/property-deprecated: * modules/unictype/property-diacritic: * modules/unictype/property-extender: * modules/unictype/property-format-control: * modules/unictype/property-grapheme-base: * modules/unictype/property-grapheme-extend: * modules/unictype/property-grapheme-link: * modules/unictype/property-hex-digit: * modules/unictype/property-hyphen: * modules/unictype/property-id-continue: * modules/unictype/property-id-start: * modules/unictype/property-ideographic: * modules/unictype/property-ids-binary-operator: * modules/unictype/property-ids-trinary-operator: * modules/unictype/property-ignorable-control: * modules/unictype/property-iso-control: * modules/unictype/property-join-control: * modules/unictype/property-left-of-pair: * modules/unictype/property-line-separator: * modules/unictype/property-logical-order-exception: * modules/unictype/property-lowercase, modules/unictype/property-math: * modules/unictype/property-non-break: * modules/unictype/property-not-a-character: * modules/unictype/property-numeric: * modules/unictype/property-other-alphabetic: * modules/unictype/property-other-default-ignorable-code-point: * modules/unictype/property-other-grapheme-extend: * modules/unictype/property-other-id-continue: * modules/unictype/property-other-id-start: * modules/unictype/property-other-lowercase: * modules/unictype/property-other-math: * modules/unictype/property-other-uppercase: * modules/unictype/property-paired-punctuation: * modules/unictype/property-paragraph-separator: * modules/unictype/property-pattern-syntax: * modules/unictype/property-pattern-white-space: * modules/unictype/property-private-use: * modules/unictype/property-punctuation: * modules/unictype/property-quotation-mark: * modules/unictype/property-radical: * modules/unictype/property-sentence-terminal: * modules/unictype/property-soft-dotted: * modules/unictype/property-space: * modules/unictype/property-terminal-punctuation: * modules/unictype/property-test, modules/unictype/property-titlecase: * modules/unictype/property-unassigned-code-value: * modules/unictype/property-unified-ideograph: * modules/unictype/property-uppercase: * modules/unictype/property-variation-selector: * modules/unictype/property-white-space: * modules/unictype/property-xid-continue: * modules/unictype/property-xid-start: * modules/unictype/property-zero-width, modules/unictype/scripts: * modules/unictype/scripts-all, modules/unictype/syntax-c-ident: * modules/unictype/syntax-c-whitespace: * modules/unictype/syntax-java-ident: * modules/unictype/syntax-java-whitespace, modules/unigbrk/base: * modules/unigbrk/u16-grapheme-breaks: * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev: * modules/unigbrk/u32-grapheme-breaks: * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev: * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next: * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop: * modules/unigbrk/uc-is-grapheme-break: * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base: * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks: * modules/unilbrk/u16-width-linebreaks: * modules/unilbrk/u32-possible-linebreaks: * modules/unilbrk/u32-width-linebreaks: * modules/unilbrk/u8-possible-linebreaks: * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common: * modules/unilbrk/ulc-possible-linebreaks: * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base: * modules/uniname/uniname, modules/uninorm/base: * modules/uninorm/canonical-decomposition: * modules/uninorm/compat-decomposition, modules/uninorm/composition: * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form: * modules/uninorm/decomposition, modules/uninorm/decomposition-table: * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd: * modules/uninorm/nfkc, modules/uninorm/nfkd: * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp: * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm: * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp: * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm: * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp: * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm: * modules/unistdio/base, modules/unistdio/u-printf-args: * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf: * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf: * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf: * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf: * modules/unistdio/u16-u16-sprintf: * modules/unistdio/u16-u16-vasnprintf: * modules/unistdio/u16-u16-vasprintf: * modules/unistdio/u16-u16-vsnprintf: * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf: * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf: * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf: * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse: * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf: * modules/unistdio/u32-u32-asnprintf: * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf: * modules/unistdio/u32-u32-sprintf: * modules/unistdio/u32-u32-vasnprintf: * modules/unistdio/u32-u32-vasprintf: * modules/unistdio/u32-u32-vsnprintf: * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf: * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf: * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf: * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse: * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf: * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf: * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf: * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf: * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf: * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf: * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf: * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf: * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse: * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf: * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf: * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf: * modules/unistdio/ulc-vsprintf, modules/unistr/base: * modules/unistr/u16-check, modules/unistr/u16-chr: * modules/unistr/u16-cmp, modules/unistr/u16-cmp2: * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc: * modules/unistr/u16-endswith, modules/unistr/u16-mblen: * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc: * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr: * modules/unistr/u16-move, modules/unistr/u16-next: * modules/unistr/u16-prev, modules/unistr/u16-set: * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy: * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat: * modules/unistr/u16-strchr, modules/unistr/u16-strcmp: * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy: * modules/unistr/u16-strcspn, modules/unistr/u16-strdup: * modules/unistr/u16-strlen, modules/unistr/u16-strmblen: * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat: * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy: * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk: * modules/unistr/u16-strrchr, modules/unistr/u16-strspn: * modules/unistr/u16-strstr, modules/unistr/u16-strtok: * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8: * modules/unistr/u16-uctomb, modules/unistr/u32-check: * modules/unistr/u32-chr, modules/unistr/u32-cmp: * modules/unistr/u32-cmp2, modules/unistr/u32-cpy: * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith: * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen: * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe: * modules/unistr/u32-mbtoucr, modules/unistr/u32-move: * modules/unistr/u32-next, modules/unistr/u32-prev: * modules/unistr/u32-set, modules/unistr/u32-startswith: * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy: * modules/unistr/u32-strcat, modules/unistr/u32-strchr: * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll: * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn: * modules/unistr/u32-strdup, modules/unistr/u32-strlen: * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc: * modules/unistr/u32-strncat, modules/unistr/u32-strncmp: * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen: * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr: * modules/unistr/u32-strspn, modules/unistr/u32-strstr: * modules/unistr/u32-strtok, modules/unistr/u32-to-u16: * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb: * modules/unistr/u8-check, modules/unistr/u8-chr: * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy: * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith: * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen: * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe: * modules/unistr/u8-mbtoucr, modules/unistr/u8-move: * modules/unistr/u8-next, modules/unistr/u8-prev: * modules/unistr/u8-set, modules/unistr/u8-startswith: * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy: * modules/unistr/u8-strcat, modules/unistr/u8-strchr: * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll: * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn: * modules/unistr/u8-strdup, modules/unistr/u8-strlen: * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc: * modules/unistr/u8-strncat, modules/unistr/u8-strncmp: * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen: * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr: * modules/unistr/u8-strspn, modules/unistr/u8-strstr: * modules/unistr/u8-strtok, modules/unistr/u8-to-u16: * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes: * modules/uniwbrk/base, modules/uniwbrk/table: * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks: * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks: * modules/uniwbrk/wordbreak-property, modules/uniwidth/base: * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width: * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width: * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width: * modules/uniwidth/width, modules/utf16-ucs4: * modules/utf16-ucs4-unsafe, modules/utf8-ucs4: * modules/utf8-ucs4-unsafe: Change maintainer from Bruno Haible to Daiki Ueno. This is my guess at the libunistring modules; please feel free to fix if I guessed incorrectly. * modules/accept4, modules/acl, modules/acos, modules/acosf: * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt: * modules/areadlink, modules/array-list, modules/array-mergesort: * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm: * modules/atan, modules/atan2, modules/atan2f, modules/atanf: * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list: * modules/binary-io, modules/bison-i18n, modules/btowc: * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq: * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix: * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list: * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee: * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee: * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee: * modules/chdir, modules/classpath, modules/clean-temp, modules/close: * modules/closedir, modules/concat-filename, modules/copy-file: * modules/copysign, modules/copysignf, modules/copysignl, modules/cos: * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp: * modules/csharpcomp-script, modules/csharpexec: * modules/csharpexec-script, modules/ctype, modules/diffseq: * modules/dprintf, modules/dprintf-posix, modules/dup: * modules/dup2-obsolete, modules/dup3, modules/duplocale: * modules/eealloc, modules/environ, modules/erf, modules/erfc: * modules/errno, modules/execute, modules/exp, modules/exp-ieee: * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee: * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee: * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee: * modules/expm1f, modules/expm1f-ieee, modules/expm1l: * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf: * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee: * modules/fatal-signal, modules/fbufmode, modules/fchdir: * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename: * modules/findprog, modules/findprog-lgpl, modules/floor: * modules/floor-ieee, modules/floorf, modules/floorf-ieee: * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee: * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee: * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee: * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee: * modules/fprintf-posix, modules/fpucw, modules/fpurge: * modules/freadable, modules/freadahead, modules/freadptr: * modules/freadseek, modules/freopen, modules/frexp: * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf: * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee: * modules/frexpl-nolibm, modules/fseek, modules/fseeko: * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell: * modules/ftello, modules/full-read, modules/full-write: * modules/fwritable, modules/fwriteerror, modules/gcd: * modules/get-rusage-as, modules/get-rusage-data: * modules/getdtablesize, modules/getrusage, modules/gettext: * modules/gettext-h, modules/git-merge-changelog, modules/gperf: * modules/grantpt, modules/havelib, modules/host-cpu-c-abi: * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf: * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee: * modules/iconv, modules/iconv-h, modules/iconv_open: * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp: * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs: * modules/imaxdiv, modules/integer_length, modules/integer_length_l: * modules/integer_length_ll, modules/ioctl, modules/isatty: * modules/isblank, modules/isnand, modules/isnand-nolibm: * modules/isnanf, modules/isnanf-nolibm, modules/isnanl: * modules/isnanl-nolibm, modules/iswblank, modules/iswctype: * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script: * modules/javaexec, modules/javaexec-script, modules/javaversion: * modules/jn, modules/langinfo, modules/ldd, modules/ldexp: * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee: * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma: * modules/lib-symbol-visibility, modules/libsigsegv: * modules/linked-list, modules/linkedhash-list, modules/list: * modules/localcharset, modules/locale, modules/localeconv: * modules/localename, modules/lock, modules/log, modules/log-ieee: * modules/log10, modules/log10-ieee, modules/log10f: * modules/log10f-ieee, modules/log10l, modules/log10l-ieee: * modules/log1p, modules/log1p-ieee, modules/log1pf: * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee: * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee: * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee: * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee: * modules/logf, modules/logf-ieee, modules/login_tty: * modules/logl-ieee, modules/malloc-posix, modules/malloca: * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp: * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc: * modules/mbscasecmp, modules/mbscasestr, modules/mbschr: * modules/mbscspn, modules/mbsinit, modules/mbslen: * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs: * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr: * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr: * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter: * modules/memchr-obsolete, modules/memcmp2, modules/minmax: * modules/mkdtemp, modules/mkostemp, modules/mktime-internal: * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee: * modules/modfl, modules/modfl-ieee, modules/msvc-inval: * modules/msvc-nothrow, modules/multiarch, modules/nextafter: * modules/nl_langinfo, modules/no-c++, modules/nocrash: * modules/nonblocking, modules/open, modules/opendir, modules/openmp: * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi: * modules/pipe-filter-ii, modules/pipe2, modules/poll-h: * modules/posix_spawn, modules/posix_spawn-internal: * modules/posix_spawn_file_actions_addclose: * modules/posix_spawn_file_actions_adddup2: * modules/posix_spawn_file_actions_addopen: * modules/posix_spawn_file_actions_destroy: * modules/posix_spawn_file_actions_init: * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags: * modules/posix_spawnattr_getpgroup: * modules/posix_spawnattr_getschedparam: * modules/posix_spawnattr_getschedpolicy: * modules/posix_spawnattr_getsigdefault: * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init: * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup: * modules/posix_spawnattr_setschedparam: * modules/posix_spawnattr_setschedpolicy: * modules/posix_spawnattr_setsigdefault: * modules/posix_spawnattr_setsigmask, modules/posix_spawnp: * modules/pow, modules/powf, modules/printf-frexp: * modules/printf-frexpl, modules/printf-posix, modules/printf-safe: * modules/progname, modules/propername, modules/pselect: * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r: * modules/qacl, modules/quotearg-simple, modules/raise, modules/random: * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list: * modules/read, modules/readdir, modules/readlink: * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib: * modules/relocatable-lib-lgpl, modules/relocatable-perl: * modules/relocatable-prog, modules/relocatable-prog-wrapper: * modules/relocatable-script, modules/remainder: * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee: * modules/remainderl, modules/remainderl-ieee, modules/rewinddir: * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee: * modules/rintl, modules/rintl-ieee, modules/round-ieee: * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read: * modules/safe-write, modules/sched, modules/servent, modules/setenv: * modules/setlocale, modules/sh-quote, modules/shutdown: * modules/signal, modules/signbit, modules/sigpipe: * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf: * modules/sinh, modules/sinhf, modules/size_max, modules/sleep: * modules/snippet/arg-nonnull, modules/snippet/c++defs: * modules/snippet/link-warning, modules/snippet/unused-parameter: * modules/snprintf, modules/snprintf-posix, modules/spawn: * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt: * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee: * modules/sqrtl-ieee, modules/stdalign, modules/stdarg: * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase: * modules/strcasestr, modules/strcasestr-simple, modules/strcspn: * modules/streq, modules/strerror_r-posix, modules/striconv: * modules/striconveh, modules/striconveha, modules/strncat: * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete: * modules/sublist, modules/sys_resource, modules/sys_utsname: * modules/sys_wait, modules/system-posix, modules/system-quote: * modules/tan, modules/tanf, modules/tanh, modules/tanhf: * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls: * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee: * modules/truncf, modules/truncf-ieee, modules/truncl: * modules/truncl-ieee, modules/ttyname_r, modules/uname: * modules/unlockpt, modules/unsetenv, modules/vasnprintf: * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix: * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix: * modules/vfscanf, modules/vma-iter, modules/vprintf-posix: * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix: * modules/wait-process, modules/waitpid, modules/wcpcpy: * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat: * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy: * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp: * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen: * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr: * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok: * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb: * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr: * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset: * modules/write, modules/xconcat-filename, modules/xlist: * modules/xmalloca, modules/xoset, modules/xprintf-posix: * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv: * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix: * modules/y0, modules/y1, modules/yn: Remove Bruno Haible as maintainer; if he's the sole maintainer, change the maintainer to 'all'. Let's hope someone volunteers.
* canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.Bruno Haible2011-06-161-0/+3
| | | | | | * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation from here... * modules/canonicalize-lgpl (configure.ac): ... to here.
* canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.Bruno Haible2011-05-121-0/+1
| | | | | | | | * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code. * modules/canonicalize (Depends-on): Add 'nocrash'. * modules/canonicalize-lgpl (Depends-on): Likewise. * doc/posix-functions/realpath.texi: Update platforms list. Reported by Ryan Schmidt <ryandesign@macports.org>.
* Avoid unnecessary compilation units, through conditional dependencies.Bruno Haible2011-05-031-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/accept (Depends-on): Add conditions to the dependencies. * modules/acosl (Depends-on): Likewise. * modules/argz (Depends-on): Likewise. * modules/asinl (Depends-on): Likewise. * modules/atanl (Depends-on): Likewise. * modules/atoll (Depends-on): Likewise. * modules/bind (Depends-on): Likewise. * modules/btowc (Depends-on): Likewise. * modules/canonicalize-lgpl (Depends-on): Likewise. * modules/ceil (Depends-on): Likewise. * modules/ceilf (Depends-on): Likewise. * modules/ceill (Depends-on): Likewise. * modules/chdir-long (Depends-on): Likewise. * modules/chown (Depends-on): Likewise. * modules/close (Depends-on): Likewise. * modules/connect (Depends-on): Likewise. * modules/cosl (Depends-on): Likewise. * modules/dirfd (Depends-on): Likewise. * modules/dprintf (Depends-on): Likewise. * modules/dprintf-posix (Depends-on): Likewise. * modules/error (Depends-on): Likewise. * modules/euidaccess (Depends-on): Likewise. * modules/expl (Depends-on): Likewise. * modules/faccessat (Depends-on): Likewise. * modules/fchdir (Depends-on): Likewise. * modules/fclose (Depends-on): Likewise. * modules/fcntl (Depends-on): Likewise. * modules/fdopendir (Depends-on): Likewise. * modules/fflush (Depends-on): Likewise. * modules/floor (Depends-on): Likewise. * modules/floorf (Depends-on): Likewise. * modules/floorl (Depends-on): Likewise. * modules/fnmatch (Depends-on): Likewise. * modules/fopen (Depends-on): Likewise. * modules/fprintf-posix (Depends-on): Likewise. * modules/frexp (Depends-on): Likewise. * modules/frexp-nolibm (Depends-on): Likewise. * modules/frexpl (Depends-on): Likewise. * modules/frexpl-nolibm (Depends-on): Likewise. * modules/fseek (Depends-on): Likewise. * modules/fsusage (Depends-on): Likewise. * modules/ftell (Depends-on): Likewise. * modules/ftello (Depends-on): Likewise. * modules/futimens (Depends-on): Likewise. * modules/getcwd (Depends-on): Likewise. * modules/getcwd-lgpl (Depends-on): Likewise. * modules/getdelim (Depends-on): Likewise. * modules/getdomainname (Depends-on): Likewise. * modules/getgroups (Depends-on): Likewise. * modules/gethostname (Depends-on): Likewise. * modules/getline (Depends-on): Likewise. * modules/getlogin_r (Depends-on): Likewise. * modules/getopt-posix (Depends-on): Likewise. * modules/getpeername (Depends-on): Likewise. * modules/getsockname (Depends-on): Likewise. * modules/getsockopt (Depends-on): Likewise. * modules/getsubopt (Depends-on): Likewise. * modules/getusershell (Depends-on): Likewise. * modules/glob (Depends-on): Likewise. * modules/grantpt (Depends-on): Likewise. * modules/iconv_open (Depends-on): Likewise. * modules/iconv_open-utf (Depends-on): Likewise. * modules/inet_ntop (Depends-on): Likewise. * modules/inet_pton (Depends-on): Likewise. * modules/ioctl (Depends-on): Likewise. * modules/isapipe (Depends-on): Likewise. * modules/isfinite (Depends-on): Likewise. * modules/isinf (Depends-on): Likewise. * modules/lchown (Depends-on): Likewise. * modules/ldexpl (Depends-on): Likewise. * modules/link (Depends-on): Likewise. * modules/linkat (Depends-on): Likewise. * modules/listen (Depends-on): Likewise. * modules/logl (Depends-on): Likewise. * modules/lstat (Depends-on): Likewise. * modules/mbrlen (Depends-on): Likewise. * modules/mbrtowc (Depends-on): Likewise. * modules/mbsinit (Depends-on): Likewise. * modules/mbsnrtowcs (Depends-on): Likewise. * modules/mbsrtowcs (Depends-on): Likewise. * modules/mbtowc (Depends-on): Likewise. * modules/memcmp (Depends-on): Likewise. * modules/mkdir (Depends-on): Likewise. * modules/mkdtemp (Depends-on): Likewise. * modules/mkfifo (Depends-on): Likewise. * modules/mkfifoat (Depends-on): Likewise. * modules/mknod (Depends-on): Likewise. * modules/mkostemp (Depends-on): Likewise. * modules/mkostemps (Depends-on): Likewise. * modules/mkstemp (Depends-on): Likewise. * modules/mkstemps (Depends-on): Likewise. * modules/mktime (Depends-on): Likewise. * modules/nanosleep (Depends-on): Likewise. * modules/open (Depends-on): Likewise. * modules/openat (Depends-on): Likewise. * modules/perror (Depends-on): Likewise. * modules/poll (Depends-on): Likewise. * modules/popen (Depends-on): Likewise. * modules/posix_spawn (Depends-on): Likewise. * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise. * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise. * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise. * modules/posix_spawnp (Depends-on): Likewise. * modules/pread (Depends-on): Likewise. * modules/printf-posix (Depends-on): Likewise. * modules/ptsname (Depends-on): Likewise. * modules/putenv (Depends-on): Likewise. * modules/pwrite (Depends-on): Likewise. * modules/readline (Depends-on): Likewise. * modules/readlink (Depends-on): Likewise. * modules/readlinkat (Depends-on): Likewise. * modules/recv (Depends-on): Likewise. * modules/recvfrom (Depends-on): Likewise. * modules/regex (Depends-on): Likewise. * modules/remove (Depends-on): Likewise. * modules/rename (Depends-on): Likewise. * modules/renameat (Depends-on): Likewise. * modules/rmdir (Depends-on): Likewise. * modules/round (Depends-on): Likewise. * modules/roundf (Depends-on): Likewise. * modules/roundl (Depends-on): Likewise. * modules/rpmatch (Depends-on): Likewise. * modules/select (Depends-on): Likewise. * modules/send (Depends-on): Likewise. * modules/sendto (Depends-on): Likewise. * modules/setenv (Depends-on): Likewise. * modules/setlocale (Depends-on): Likewise. * modules/setsockopt (Depends-on): Likewise. * modules/shutdown (Depends-on): Likewise. * modules/sigaction (Depends-on): Likewise. * modules/signbit (Depends-on): Likewise. * modules/sigprocmask (Depends-on): Likewise. * modules/sinl (Depends-on): Likewise. * modules/sleep (Depends-on): Likewise. * modules/snprintf (Depends-on): Likewise. * modules/snprintf-posix (Depends-on): Likewise. * modules/socket (Depends-on): Likewise. * modules/sprintf-posix (Depends-on): Likewise. * modules/sqrtl (Depends-on): Likewise. * modules/stat (Depends-on): Likewise. * modules/strchrnul (Depends-on): Likewise. * modules/strdup-posix (Depends-on): Likewise. * modules/strerror (Depends-on): Likewise. * modules/strerror_r-posix (Depends-on): Likewise. * modules/strndup (Depends-on): Likewise. * modules/strnlen (Depends-on): Likewise. * modules/strptime (Depends-on): Likewise. * modules/strsep (Depends-on): Likewise. * modules/strsignal (Depends-on): Likewise. * modules/strstr-simple (Depends-on): Likewise. * modules/strtod (Depends-on): Likewise. * modules/strtoimax (Depends-on): Likewise. * modules/strtok_r (Depends-on): Likewise. * modules/strtoumax (Depends-on): Likewise. * modules/symlink (Depends-on): Likewise. * modules/symlinkat (Depends-on): Likewise. * modules/tanl (Depends-on): Likewise. * modules/tcgetsid (Depends-on): Likewise. * modules/tmpfile (Depends-on): Likewise. * modules/trunc (Depends-on): Likewise. * modules/truncf (Depends-on): Likewise. * modules/truncl (Depends-on): Likewise. * modules/uname (Depends-on): Likewise. * modules/unlink (Depends-on): Likewise. * modules/unlockpt (Depends-on): Likewise. * modules/unsetenv (Depends-on): Likewise. * modules/usleep (Depends-on): Likewise. * modules/utimensat (Depends-on): Likewise. * modules/vasprintf (Depends-on): Likewise. * modules/vdprintf (Depends-on): Likewise. * modules/vdprintf-posix (Depends-on): Likewise. * modules/vfprintf-posix (Depends-on): Likewise. * modules/vprintf-posix (Depends-on): Likewise. * modules/vsnprintf (Depends-on): Likewise. * modules/vsnprintf-posix (Depends-on): Likewise. * modules/vsprintf-posix (Depends-on): Likewise. * modules/wcrtomb (Depends-on): Likewise. * modules/wcscasecmp (Depends-on): Likewise. * modules/wcscspn (Depends-on): Likewise. * modules/wcsdup (Depends-on): Likewise. * modules/wcsncasecmp (Depends-on): Likewise. * modules/wcsnrtombs (Depends-on): Likewise. * modules/wcspbrk (Depends-on): Likewise. * modules/wcsrtombs (Depends-on): Likewise. * modules/wcsspn (Depends-on): Likewise. * modules/wcsstr (Depends-on): Likewise. * modules/wcstok (Depends-on): Likewise. * modules/wcswidth (Depends-on): Likewise. * modules/wctob (Depends-on): Likewise. * modules/wctomb (Depends-on): Likewise. * modules/wctype (Depends-on): Likewise. * modules/wcwidth (Depends-on): Likewise. * modules/write (Depends-on): Likewise.
* canonicalize, canonicalize-lgpl: honor // if distinct from /Eric Blake2009-09-171-0/+1
| | | | | | | | | | | | | | | | | | * modules/canonicalize (Files): Add double-slash-root.m4. * modules/canonicalize-lgpl (Files): Likewise. * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency. * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide fallback definition. (canonicalize_filename_mode): Use it to protect //. * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT) (__realpath): Likewise. * tests/test-canonicalize.c (main): Test this. * tests/test-canonicalize-lgpl.c (main): Likewise. * modules/canonicalize-tests (Depends-on): Add same-inode. * modules/canonicalize-lgpl-tests (Depends-on): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* canonicalize-lgpl: fix glibc bug with trailing slashEric Blake2009-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate the m4 macros into a single file, since both modules now have to worry about replacing canonicalize_file_name on buggy glibc. * m4/canonicalize-lgpl.m4: Move contents... * m4/canonicalize.m4: ...here. (gl_CANONICALIZE_LGPL): Factor realpath check... (gl_FUNC_REALPATH_WORKS): ...into new macro. Enhance to catch glibc 2.3.5 bug, fixed 2005-04-27. (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it. (gl_PREREQ_CANONICALIZE_LGPL): Inline... (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro. * modules/canonicalize-lgpl (Files): Manage file rename. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. * modules/stdlib (Makefile.am): Substitute witness. * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement is needed. * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name replacement is required. * lib/canonicalize.c (canonicalize_file_name): Likewise. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Document this. * doc/posix-functions/realpath.texi (realpath): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* canonicalize, canonicalize-lgpl: use <stdlib.h>Eric Blake2009-09-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Match current gnulib conventions of glibc functions being declared in the same header as glibc. This makes it easier to replace broken canonicalize_file_name. canonicalize still requires "canonicalize.h" because canonicalize_filename_mode is not in glibc. With this patch, canonicalize-lgpl always provides realpath and canonicalize_file_name, while canonicalize can provide canonicalize_file_name but not realpath; if both modules are in use, canonicalize_file_name comes from the LGPLv2+ sources, but the testing comes from canonicalize. * modules/canonicalize-lgpl (Files): Drop canonicalize.h. (Include): Mention <stdlib.h>. (configure.ac): Mention functions we provide. * modules/canonicalize (configure.ac): Likewise. * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace realpath if canonicalize_file_name is missing. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults. * modules/stdlib (Makefile.am): Substitute witnesses. * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare. * lib/canonicalize-lgpl.c (includes): Adjust accordingly. * lib/canonicalize.h (canonicalize_file_name): Drop declaration. * NEWS: Document this. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Likewise. * doc/posix-functions/realpath.texi (realpath): Likewise. * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>. Signed-off-by: Eric Blake <ebb9@byu.net>
* canonicalize, canonicalize-lgpl: update module dependenciesEric Blake2009-09-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The m4 files were checking whether canonicalize_file_name was declared, but without enabling extensions, this would never succeed. Also, mingw failed to compile the module combination of canonicalize-lgpl and sys_stat, due to a link error on lstat. * modules/canonicalize (Depends-on): Add extensions, lstat, pathmax, stdlib. (Files): Drop pathmax.h. (configure.ac): Adjust macro name. * modules/canonicalize-lgpl (Depends-on): Add errno, extensions, lstat, stdlib, sys_stat. * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename... (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require extensions. * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL) (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions. (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h. * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h> declaration, if available. * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition; we can rely on the readlink module. (MAXSYMLINKS): Also consult SYMLOOP_MAX. (includes): Use <unistd.h> unconditionally. Signed-off-by: Eric Blake <ebb9@byu.net>
* Mark 'memmove' obsolete.Bruno Haible2008-11-021-0/+1
|
* Relicense under LGPLv2+.Bruno Haible2008-07-201-1/+1
|
* Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl' differently.Bruno Haible2008-04-221-0/+1
|
* Remove execute permission.Bruno Haible2007-09-301-0/+0
|
* Update after allocsa -> malloca renaming.Bruno Haible2007-06-091-1/+1
|
* * MODULES.html.sh (File system functions): New modulePaul Eggert2006-11-061-0/+27
canonicalize-lgpl. * lib/canonicalize.h: Add comments for canonicalize_filename_mode and canonicalize_file_name. * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4: * modules/canonicalize-lgpl: New files.