summaryrefslogtreecommitdiff
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
* maint: Run 'make update-copyright'Paul Eggert2018-01-012-2/+2
|
* chdir-safer: remove this modulePaul Eggert2017-12-301-31/+0
| | | | | | | * MODULES.html.sh (func_all_modules): Remove chdir-safer. * NEWS: Document removal. * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4: * modules/chdir-safer: Remove these files.
* stat: add missing module dependenciesPaul Eggert2017-11-283-0/+3
| | | | | * modules/lstat, modules/stat, modules/utimensat (Depends-on): Add stat-time.
* unicase: fix VPATH buildDaiki Ueno2017-11-271-0/+1
| | | | | | * modules/unicase/special-casing (Makefile.am): Ensure that the base directory is created when generating unicase/special-casing.h.
* libunistring: update to Unicode 9.0.0Daiki Ueno2017-11-27299-303/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/gen-uni-tables.c (fill_properties): Recognize Sentence_Terminal and Prepended_Concatenation_Mark. (is_property_default_ignorable_code_point): Exclude U+08E2. (fill_arabicshaping): Allow missing whitespace when parsing; recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON". (output_blocks): Increase the element size of the level1 table to accommodate more blocks. (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters; Update each class according to the standard. (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and E_Base_GAZ characters. (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and E_Base_GAZ characters. * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH) (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New enum value. * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum value. * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with LBP_ZWJ, LBP_EB, and LBP_EM. * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New enum value. * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16. * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable declaration. * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable. (uniwbrk_table): Implement WB14. * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string): Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG. * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on uc-is-grapheme-break. * modules/unigbrk/uc-grapheme-breaks: New module. * modules/unigbrk/uc-grapheme-breaks-tests: New module. * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New enum value. (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break. * lib/unigbrk/u-grapheme-breaks.h: New file. * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using u-grapheme-breaks.h instead of uc_is_grapheme_break. * lib/unigbrk/uc-grapheme-breaks.c: New file. * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev 29. * tests/unigbrk/test-uc-gbrk-prop.c (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, and GBP_EBG. * tests/unigbrk/test-uc-grapheme-breaks.c: New test. * tests/unigbrk/test-uc-is-grapheme-break.c (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, and GBP_EBG. (main): Skip unsupported rules involving 3 or more characters, namely GB10, GB12, and GB13. * lib/uniwidth/width.c (nonspacing_table_data): Update. * all generated files under lib/uni* and tests/uni*: Regenerate. * all the dependant modules: Bump version.
* stat: work around Solaris bug with tv_nsec < 0Paul Eggert2017-11-233-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/posix-functions/fstat.texi (fstat): * doc/posix-functions/fstatat.texi (fstatat): * doc/posix-functions/lstat.texi (lstat): * doc/posix-functions/stat.texi (stat): Mention Solaris 11 bug. * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h. * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]: * lib/lstat.c (rpl_lstat): * lib/stat.c (rpl_stat): Normalize resulting timestamps. * lib/fstatat.c (normal_fstatat): New function. (rpl_fstatat): Use it. * lib/stat-time.h: Include intprops.h, errno.h, stddef.h. (stat_time_normalize): New function. * m4/fstat.m4 (gl_FUNC_FSTAT): * m4/fstatat.m4 (gl_FUNC_FSTATAT): * m4/lstat.m4 (gl_FUNC_LSTAT): * m4/stat.m4 (gl_FUNC_STAT): Replace on Solaris. * modules/fstat (Depends-on): * modules/fstatat (Depends-on): Add stat-time. * modules/stat-time (Depends-on): Add errno, intprops.
* faccessat: port to macOS (Bug#29231)Paul Eggert2017-11-113-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | macOS faccessat has the same bug that lstat does: if the file name ends in '/' it ignores the trailing slash. Problem reported for Emacs by Vincent Zhang. * doc/posix-functions/faccessat.texi (faccessat): Document this. * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef around the initial includes. Include errno.h, string.h, sys/stat.h. (orig_faccessat) [HAVE_FACCESSAT]: New function. Include "unistd.h" after defining it. (rpl_faccessat) [HAVE_FACCESSAT]: New implementation. * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]: Handle in the usual way. * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if lstat dereferences symlinks, since faccessat is likely to have the same problem. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT. * modules/faccessat (Depends-on): Add fstatat. Depend if REPLACE_FACCESSAT is 1, too. (configure.ac): Link if REPLACE_FACCESSAT is 1. * modules/faccessat-tests (Depends-on): Add symlink. * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT. * tests/test-faccessat.c (main): Test for the bug.
* timespec: prefer ‘assume’ to ‘assure’Paul Eggert2017-10-291-1/+1
| | | | | | | | | | | | This avoids some runtime tests. The rest of the module makes similar assumptions and there is little point to testing here. * lib/timespec.h: Include verify.h instead of assure.h. (timespec_cmp): Use ‘assume’, not ‘assure’. Also, remove an unnecessary cast to ‘int’, as lots of other code in this module now causes -Wconversion to complain, and this is a problem with -Wconversion not with the code. * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
* timespec.h: use "assure" to avoid a spurious warningJim Meyering2017-10-291-0/+1
| | | | | | | | * lib/timespec.h: Include "assure.h" and use it to help gcc7's -Wstrict-overflow avoid a false positive warning for a use in coreutils' ls.c. Suggested by Paul Eggert in https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html * modules/timespec (Depends-on): Add assure.
* ilogbl: Ensure replacement on Haiku.Bruno Haible2017-10-292-5/+6
| | | | | | | | | | | * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set REPLACE_ILOGBL if ilogbl does not work. (gl_FUNC_ILOGBL_WORKS): New macro. * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL. * modules/math (Makefile.am): Substitute REPLACE_ILOGBL. * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL. * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
* New module: crypto/gc-sm3Jia Zhang2017-10-292-0/+35
| | | | | | | | | | | * lib/gc.h: Declare SM3-related stuffs. * lib/gc-gnulib.c: Support sm3 in internal functions. * lib/gc-libgcrypt.c: Support sm3 with libgcrypt. * m4/gc-sm3.m4: m4 file for gc-sm3 module. * modules/crypto/gc-sm3: Define gc-sm3 module. * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt. * modules/crypto/gc-sm3-tests: Define gc-sm3 test module. * MODULES.html.sh: List gc-sm3 module.
* New module: crypto/sm3Jia Zhang2017-10-282-0/+41
| | | | | | | | | | | | | | | | | | | This new module can be used to compute SM3 message digest of files or memory blocks according to the specification GM/T 004-2012 Cryptographic Hash Algorithm SM3, published by State Cryptography Administration, China. The official SM3 cryptographic hash algorithm specification is available at http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml * lib/sm3.h: Declare the APIs of sm3 module. * lib/sm3.c: Implement SM3 hash algorithm. * m4/sm3.m4: m4 file for sm3 module. * modules/crypto/sm3: Define sm3 module. * tests/test-sm3.c: Implement SM3 test case. * modules/crypto/sm3-tests: Define sm3 test module. * MODULES.html.sh: List sm3 module.
* Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".Bruno Haible2017-10-041-1/+1
| | | | | * modules/host-cpu-c-abi (configure.ac): Require, don't invoke gl_HOST_CPU_C_ABI.
* fsusage: remove SVR2 supportPaul Eggert2017-10-011-1/+0
| | | | | | | | | | | SVR2 was obsolete by 1986 and is no longer supported by anybody, and its code was getting in the way of use of this module by Emacs, which has its own ‘read’ function anyway. * lib/fsusage.c: Do not include sys/filsys.h. (get_fs_usage): Remove SVR2-specific code. * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Do not test for sys/filsys.h or set STAT_READ_FILSYS. * modules/fsusage (Depends-on): Do not depend on full-read.
* vma-iter: Make it work on 32-bit Solaris with module 'largefile'.Bruno Haible2017-09-301-2/+0
| | | | | | | | * modules/vma-iter: Don't test for sys/procfs.h, as this test would fail when module 'largefile' is in use. * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H. * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early. Don't test HAVE_SYS_PROCFS_H.
* havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).Bruno Haible2017-09-301-0/+1
| | | | | | * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI. When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'. * modules/havelib (Depends-on): Add host-cpu-c-abi.
* string: code styleBruno Haible2017-09-281-6/+6
| | | | | | * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of substitutable variables. * modules/string (Makefile.am): Likewise.
* maint: fix overflow checking in nap.hPaul Eggert2017-09-259-0/+9
| | | | | | | | | | | * modules/chown-tests: * modules/fchownat-tests, modules/fdutimensat-tests: * modules/futimens-tests, modules/lchown-tests: * modules/stat-time-tests, modules/utime-tests: * modules/utimens-tests, modules/utimensat-tests: Depend on intprops. * tests/nap.h: Include intprops.h. (diff_timespec): Handle overflow properly.
* parse-datetime: fix dependencyPaul Eggert2017-09-251-1/+1
| | | | | * modules/parse-datetime (Depends-on): Depend on nstrftime, not strftime.
* vma-iter: Improvements for BSD platforms.Bruno Haible2017-09-261-0/+1
| | | | | | | | | | | | | - Add support for GNU/kFreeBSD. - Make it work on FreeBSD and NetBSD even when /proc is not mounted. - Speed up on OpenBSD. * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD. (vma_iterate_bsd): New function. (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as first choice on OpenBSD. Treat GNU/kFreeBSD like Linux. * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD. * modules/vma-iter (configure.ac): Require AC_C_INLINE.
* strfmon_l: New module.Bruno Haible2017-09-232-0/+43
| | | | | | | | | * modules/strfmon_l: New file. * lib/strfmon_l.c: New file. * m4/strfmon_l.m4: New file. * doc/posix-functions/strfmon_l.texi: Mention the new module. * modules/strfmon_l-tests: New file. * tests/test-strfmon_l.c: New file.
* monetary: New module.Bruno Haible2017-09-234-1/+86
| | | | | | | | | | | | * modules/monetary: New file. * lib/monetary.in.h: New file. * m4/monetary_h.m4: New file. * doc/posix-headers/monetary.texi: Mention the new module. * modules/monetary-tests: New file. * tests/test-monetary.c: New file. * modules/monetary-c++-tests: New file. * tests/test-monetary-c++.cc: New file. * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
* all: Replace many more http URLs by https URLs. Update stale URLs.Bruno Haible2017-09-141-1/+1
| | | | | * users.txt: Remove mention of 'newts'. * lib/localename.c: Update comment about LANG_SOTHO.
* all: prefer https: URLsPaul Eggert2017-09-132-2/+2
|
* libc-config: port to MSVCPaul Eggert2017-09-051-0/+2
| | | | | | | | | | 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.
* scratch_buffer: don’t use private glibc APIPaul Eggert2017-09-021-9/+7
| | | | | | | | | | | | | | | 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.
* glob: use scratch_buffer instead of extend_allocaPaul Eggert2017-09-011-2/+3
| | | | | | | | | | | | | | | | | | | | | 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.
* scratch_buffer: new modulePaul Eggert2017-09-011-0/+32
| | | | | | | | | * 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.
* libc-config: new modulePaul Eggert2017-09-011-0/+21
| | | | | | | * 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.
* glob: match dangling symlinksPaul Eggert2017-08-312-1/+1
| | | | | | | | | | | | | | | | | | | 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.
* glob, backupfile: inode 0 is a valid inode numberPaul Eggert2017-08-311-1/+0
| | | | | | | | | | | | | * 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.
* fts-tests: tag as a longrunning-test so not included by defaultPádraig Brady2017-08-301-0/+3
| | | | | * modules/fts-tests: This test takes about 20s on current systems, and uses about 285M of space on ext4.
* glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.Bruno Haible2017-08-241-0/+1
| | | | * modules/glob (Depends-on): Add c99.
* glob: merge from glibc with Zanella glob changesPaul Eggert2017-08-233-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge glob from glibc, with changes for glob proposed by Adhemerval Zanella in the thread starting here: https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html plus some fixes for this merge. * lib/flexmember.h: Change license wording to something that works unchanged in Glibc, since this code might be used in Glibc and this will minimize 'diff' output. * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c: New files, ported from glibc. * lib/glob_pattern_p.c, lib/globfree.c, lib/glob.c [!_LIBC]: Include <config.h> first. * lib/glob-libc.h (_Restrict_): Remove. All uses replaced with __restrict. (__size_t): Remove. All uses replaced by size_t. (size_t): Define by defining __need_size_t and including <stddef.h>. This should work even in non-glibc platforms, where any name pollution is OK. Use __USE_MISC instead of __USE_BSD || __USE_GNU. (struct stat64): Don’t worry about __GLOB_GNULIB. (glob, globfree, glob_pattern_p): Remove macros for __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB case. Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL but set errno. * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove. All uses removed since the glibc behavior works on null pointers. Do not include stdio.h; old SunOS is irrelevant now. Do not worry about GLOB_ONLY_P as we now mimic glibc here. Include glob_internal.h. (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not ((POSIX || WINDOWS32) && !__GNU_LIBRARY__). The latter probably worked only coincidentally. (attribute_hidden, __attribute_noinline__, __glibc_unlikely): Remove macros; now done in glob.in.h. (size_add_wrapv): Do not use __builtin_add_overflow if __ICC. (glob): Properly initialize glob structure with GLOB_BRACE|GLOB_DOOFFS (bug 20707). Remove old code using SHELL since Bash no longer uses this. (glob, prefix_array): Separate MS code better. (glob, glob_in_dir): Use C99 decls before statements when glibc does. (glob_in_dir): Remove old Amiga and VMS code. (globfree, __glob_pattern_type, __glob_pattern_p): Move to separate files. * lib/glob.in.h (attribute_hidden, __attribute_noinline__) (__glibc_unlikely): Move here from glob.c. (__restrict): New macro here, replacing the _Restrict_ in glob.c. (weak_alias): New macro. (__size_t): Remove. All uses replaced by size_t. * modules/d-ino (License): Now LGPLv2+, for compatibility with glob. * modules/flexmember (License): Now LGPLv2+, which it should have been anyway since flexmember.h is not unlimited-license. * modules/glob (Files): Add +lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c. (Depends-on): Remove snippet/arg-nonnull.
* random: Fix test compilation failure on Cygwin 1.5.25.Bruno Haible2017-08-171-0/+2
| | | | | | | | | | | | | | | * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE, HAVE_DECL_SETSTATE. * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are declared. * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE, HAVE_DECL_SETSTATE. * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0. (setstate): Declare also if HAVE_DECL_SETSTATE is 0. * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem. * doc/posix-functions/random.texi: Likewise. * doc/posix-functions/setstate.texi: Likewise. * doc/posix-functions/srandom.texi: Likewise.
* thread: Fix conflict with pthread_sigmask module.Bruno Haible2017-08-161-0/+1
| | | | | | * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if it's defined as a macro. * modules/thread (Depends-on): Add pthread_sigmask.
* iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.Bruno Haible2017-08-1611-15/+15
| | | | | | | | | | | | | | | * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix the target file names with '$(srcdir)/'. * modules/unicase/locale-language (Makefile.am): Likewise. * modules/unicase/special-casing (Makefile.am): Likewise. * modules/unictype/bidiclass-byname (Makefile.am): Likewise. * modules/unictype/category-byname (Makefile.am): Likewise. * modules/unictype/combining-class-byname (Makefile.am): Likewise. * modules/unictype/joininggroup-byname (Makefile.am): Likewise. * modules/unictype/joiningtype-byname (Makefile.am): Likewise. * modules/unictype/property-byname (Makefile.am): Likewise. * modules/unictype/scripts (Makefile.am): Likewise. * modules/uninorm/composition (Makefile.am): Likewise.
* duplocale tests: Verify use with *_l functions.Bruno Haible2017-08-151-1/+1
| | | | | | | | | | * modules/duplocale-tests (configure.ac): Test for uselocale and some *_l functions. * tests/test-duplocale.c (test_with_uselocale): New function, extracted from main. (get_locale_dependent_values_from, test_with_locale_parameter): New functions. (main): Test both test_with_uselocale and test_with_locale_parameter.
* open: support O_CLOEXECPaul Eggert2017-08-145-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS, doc/posix-functions/open.texi: * doc/posix-functions/openat.texi: Document this. * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value. (GNULIB_defined_O_CLOEXEC): New symbol. * lib/open.c: Include cloexec.h. (open): Support O_CLOEXEC. * lib/openat.c: Include cloexec.h. (rpl_openat): Support O_CLOEXEC. * lib/popen-safer.c: Do not include cloexec.h. (open_noinherit): Remove. (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag. * lib/save-cwd.c: Do not include cloexec.h. (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag. * m4/open-cloexec.m4: New file. * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC. Replace 'open' if O_CLOEXEC is not present. * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC. Replace 'openat' if O_CLOEXEC is not present. * modules/freopen (Depends-on): Depend on 'open' if replacing freopen. * modules/open (Files): Add m4/open-cloexec.m4. (Depends-on): Depend on cloexec if replacing 'open'. * modules/openat (Files): Add m4/open-cloexec.m4. (Depends-on): Depend on cloexec if replacing openat. * modules/popen-safer (Depends-on): Remove cloexec. * modules/save-cwd (Depends-on): Remove cloexec, and add fd-safer-flag and 'open'.
* reallocarray: minor fixesPaul Eggert2017-08-131-2/+2
| | | | | | | | * doc/glibc-functions/reallocarray.texi: Update version numbers. * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents. * modules/reallocarray (License): Change from GPL to LGPL. * tests/test-reallocarray.c (main): Fix ENOMEM typo. Indent properly and don't use tabs.
* reallocarray: New moduleDarshit Shah2017-08-133-0/+45
| | | | | | | | | | | | | | | reallocarray is a new function in glibc 2.26 to safely allocate an array of memory locations with integer overflow protection. * MODULES.html.sh: Add reallocarray. * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray. * lib/reallocarray.c: New file to implement module reallocarray. * lib/stdlib.in.h: Add function declarations for reallocarray. * m4/reallocarray.m4: New file. * m4/stdlib_h.m4: Declare reallocarray. * modules/reallocarray: New file. * modules/reallocarray-test: New file. * modules/stdlib: Coerce stdlib.h to export reallocarray. * tests/test-reallocarray.c: New test.
* dirent-safer: fix cloexec racePaul Eggert2017-08-121-1/+1
| | | | | | | | | * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h. (opendir_safer): Use F_DUPFD_CLOEXEC. * modules/dirent-safer (Depends-on): Add fcntl. Remove unistd-safer. * tests/test-dirent-safer.c: Do not include unistd-safer.h, as it is no longer a prerequisite. Use F_DUPFD_CLOEXEC instead of dup_safer.
* fts: fix cloexec racesPaul Eggert2017-08-121-5/+1
| | | | | | | | | | | * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h. (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag. (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag. (fd_ring_check): Set cloexec flag on new file descriptors. (fts_build, fd_ring_check): While we’re at it, make sure the resulting file descriptor is not 0, 1, or 2, since that is easy. * modules/fts (Depends-on): Remove cloexec, dirent-safer, dup, fcntl-safer, unistd-safer. Add fcntl.
* fts tests: Fix link error.Bruno Haible2017-08-111-0/+1
| | | | | | | Reported by Tom G. Christensen in https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00078.html * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
* tempname: do not depend on secure_getenvPaul Eggert2017-08-091-1/+0
| | | | | | Excess dependency noted by Eli Zaretskii (Bug#28023#17). * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused. * modules/tempname (Depends-on): Remove secure_getenv.
* manywarnings: Add support for C++.Reuben Thomas2017-08-071-0/+1
| | | | | | * build-aux/g++-warning.spec: New file. * m4/manywarnings-c++.m4: New file. * modules/manywarnings (Files): Add it.
* Relax the license of some modules with no runtime code.Bruno Haible2017-08-045-5/+5
|
* backup-rename: new modulePaul Eggert2017-07-302-4/+46
| | | | | | | | | | | | | | | | | | | | | | | | It is like backupfile, except it avoids some race conditions, and it does not output to stderr or exit. * MODULES.html.sh: Add backup-rename. * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c: * modules/backup-rename: New files. * lib/backupfile.c: Turn this into an internals file, which contains code common to backupfile and backup_rename. Do not include argmatch.h or xalloc.h: include xalloc-oversized.h. Include renameat2.h and fcntl.h. (BACKUP_NOMEM): New constant. (numbered_backup): New args BASE_OFFSET and *DIRPP. Do not exit on memory exhaustion; just return BACKUP_NOMEM. Caller changed. (backupfile_internal): Rename from find_backup_file_name. Support new arg RENAME. (backup_args, backup_types, get_version, xget_version): Move to lib/backup-find.c. * lib/backupfile.h (backup_file_rename): New decl. * modules/backupfile (Files): Add lib/backup-internal.h, lib/backup-find.c. (Depends-on): Add dirfd, fcntl, renameat2. (lib_SOURCES): Add backup-find.c.
* relocatable-lib{,-lgpl}: add Valgrind suppressionsReuben Thomas2017-07-302-0/+2
| | | | | | * lib/relocatable.valgrind: New file. * modules/relocatable-lib (Files): Add relocatable.valgrind. * modules/relocatable-lib-lgpl: Likewise.
* renameat2: port to Solaris 10Paul Eggert2017-07-273-3/+2
| | | | | | | | | | | | | * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat with AT_SYMLINK_NOFOLLOW (which is not portable). (renameat): Undef before using, to avoid endless recursion when the replacement renameat calls renameat2 which calls the replacement renameat. (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW. * modules/renameat2 (Depends-on): Remove faccessat. * modules/renameat-tests (test_renameat_LDADD): * modules/renameat2-tests (test_renameat2_LDADD): Remove $(LIB_EACCESS).