lib/string.in.h


Log

Author Commit Date CI Message
Bruno Haible 4d18fa81 2025-02-10T16:22:19 mbsstr, unistr, unigbrk: Support library namespacing. * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Don't define const-improved macro if the function is already declared as a macro. * lib/unistr.in.h (u*_check, u*_next, u*_prev, u*_chr, u*_strchr, u*_strrchr, u*_strpbrk, u*_strstr): Likewise. * lib/unigbrk.in.h (u*_grapheme_next, u*_grapheme_prev): Likewise.
Bruno Haible 77ec1d1a 2025-02-10T11:46:01 mbsstr, etc.: Fix compilation in C++ mode on AIX with xlc. * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Wrap template declarations and definitions in 'extern "C++" { ... }'.
Bruno Haible da978464 2025-02-10T08:25:19 mbsstr, unistr, unigbrk: Fix compilation with "gcc-4.8.5 -std=gnu11". * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Don't assume that GCC and clang support '_Generic' with '-std=c11' or 'std=gnu11' option. * lib/unistr.in.h (u*_check, u*_next, u*_prev, u*_chr, u*_strchr, u*_strrchr, u*_strpbrk, u*_strstr): Likewise. * lib/unigbrk.in.h (u*_grapheme_next, u*_grapheme_prev): Likewise.
Bruno Haible dd0c870c 2025-02-09T21:40:08 mbsstr, mbscasestr, mbspcasecmp, unistr, unigbrk: Simplify. Suggested by Paul Eggert. * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): On ISO C compliant compilers, use the _Generic based macro instead of the 'typeof' based macro. * lib/unistr.in.h (u*_check, u*_next, u*_prev, u*_chr, u*_strchr, u*_strrchr, u*_strpbrk, u*_strstr): Likewise. * lib/unigbrk.in.h (u*_grapheme_next, u*_grapheme_prev): Likewise.
Bruno Haible 492362d1 2025-02-09T11:16:03 mbsstr, mbscasestr, mbspcasecmp: Fix use of 'typeof'. * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Perform array to pointer conversion in argument of 'typeof'.
Bruno Haible 50896fa4 2025-02-09T09:03:53 mbsstr, mbscasestr, mbspcasecmp: Use const-improved C++ templates. * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): In C++, define through a template that supports both 'char *' and 'const char *'.
Bruno Haible 0b6d2755 2025-02-09T08:18:18 mbsstr, mbscasestr, mbspcasecmp: Use const-improved function macros. * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Define as macros that cast the result to 'const char *' when the first argument is a 'const char *'. * lib/mbsstr.c: Define _GL_NO_CONST_GENERICS. * lib/mbscasestr.c: Likewise. * lib/mbspcasecmp.c: Likewise.
Bruno Haible cadd8eb7 2025-01-04T10:17:39 *_startswith, *_endswith: Change return type to 'bool'. Suggested by Paul Eggert. * lib/string.in.h (str_startswith, str_endswith, mbs_startswith, mbs_endswith): Change return type to 'bool'. * lib/str_startswith.c (str_startswith): Likewise. * lib/str_endswith.c (str_endswith): Likewise. * lib/mbs_endswith.c (mbs_endswith): Likewise. * modules/str_startswith (Depends-on): Add bool. * modules/str_endswith (Depends-on): Likewise. * modules/mbs_startswith (Depends-on): Likewise. * modules/mbs_endswith (Depends-on): Likewise.
Bruno Haible f3436baf 2025-01-03T13:32:32 mbs_endswith: New module. * lib/string.in.h (mbs_endswith): New declaration. * lib/mbs_endswith.c: New file. * m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize GNULIB_MBS_ENDSWITH. * modules/string-h (Makefile.am): Substitute GNULIB_MBS_ENDSWITH. * modules/mbs_endswith: New file.
Bruno Haible 398ebac4 2025-01-03T11:17:16 mbs_startswith: New module. * lib/string.in.h (mbs_startswith): New declaration. * m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize GNULIB_MBS_STARTSWITH. * modules/string-h (Makefile.am): Substitute GNULIB_MBS_STARTSWITH. * modules/mbs_startswith: New file.
Bruno Haible d89ac937 2025-01-03T09:54:14 str_endswith: New module. * lib/string.in.h (str_endswith): New declaration. * lib/str_endswith.c: New file. * m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize GNULIB_STR_ENDSWITH. * modules/string-h (Makefile.am): Substitute GNULIB_STR_ENDSWITH. * modules/str_endswith: New file.
Bruno Haible 24010120 2025-01-03T09:26:14 str_startswith: New module. * lib/string.in.h (str_startswith): New declaration. * lib/str_startswith.c: New file. * m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize GNULIB_STR_STARTSWITH. * modules/string-h (Makefile.am): Substitute GNULIB_STR_STARTSWITH. * modules/str_startswith: New file.
Pádraig Brady 7b089321 2025-01-01T09:24:36 maint: run 'make update-copyright'
Bruno Haible 7e9b92b4 2024-12-24T11:20:52 string: Support several gnulib-tool invocations better. * lib/string.in.h (_GL_ALREADY_INCLUDING_STRING_H): Rename to a macro that depends on GUARD_PREFIX.
Paul Eggert cf96562f 2024-09-16T09:45:36 Don’t port July [[...]] changes to C89 Yesterday’s changes to port to C17 and earlier were intrusive, since they twice replaced one macro with two. Revert the macro definitions to what they were before yesterday, and instead change callers so that they always have four arguments even if the last one is empty. Although this change requires C99 or later, that’s safe nowadays. Suggested by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-09/msg00079.html * lib/c++defs.h (_GL_FUNCDECL_RPL, _GL_FUNCDECL_SYS): Revert yesterday’s changes. All callers changed. Add comments explaining the required comma before missing attrs.
Paul Eggert 4531edcf 2024-09-15T21:20:15 Port July changes for [[...]] to C17 The July 30 changes to _GL_FUNCDECL_RPL etc. to support use of attributes in bracket syntax used a C23 preprocessor feature that is a common extension to C17 and earlier, but which doesn’t work when compiled with stricter C17-and-earlier compilers. The feature is using ‘#define f(a, ...) b’ and calling ‘f’ with only one arg. Port back to C17 and earlier. Problem discovered with IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) on cfarm111. * lib/c++defs.h (_GL_FUNCDECL_RPL): Turn this into two macros _GL_FUNCDECL_RPL and _GL_FUNCATTR_RPL. The first macro is for functions without attributes, the second one for functions with attributes. All uses changed. (_GL_FUNCDECL_SYS): Likewise, turn this into _GL_FUNCDECL_SYS and _GL_FUNCATTR_SYS.
Bruno Haible 61720eb1 2024-08-27T16:20:16 Explicitly exclude clang when we test for a GCC version >= 4.3. Rationale: clang can disguise as any possible GCC version. * m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): When testing __GNUC__, exclude clang. * lib/_Noreturn.h (_Noreturn): Likewise. * lib/aligned-malloc.h (aligned_free, aligned_malloc): Likewise. * lib/base32.h: Likewise. * lib/base64.h: Likewise. * lib/dfa.c (FALLTHROUGH): Likewise. * lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, opendir, fdopendir): Likewise. * lib/intprops-internal.h: Likewise. * lib/jit/cache.h (clear_cache): Likewise. * lib/malloc.in.h (memalign): Likewise. * lib/mcel.h: Likewise. * lib/regex.h: Likewise. * lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE): Likewise. * lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC, fdopen, fopen, popen, tmpfile): Likewise. * lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, strdup, strndup): Likewise. * lib/verify.h: Likewise. * lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, wcsdup): Likewise. * lib/xalloc-oversized.h (xalloc_oversized): Likewise. * lib/fenv-private.h (_FPU_GETCW, _FPU_SETCW, _FPU_GETFPSR, _FPU_SETFPSR): When testing __GNUC__, exclude clang. Use different builtins for clang. * lib/hamt.h (GL_HAMT_THREAD_SAFE): When testing __GNUC__, exclude clang. Enable for clang >= 4. * lib/astrxfrm.c: Use _GL_GNUC_PREREQ. * lib/readutmp.c: Likewise. * lib/strftime.c: Likewise. * tests/test-asyncsafe-linked_list-strong.c: Likewise. * tests/test-asyncsafe-linked_list-weak.c: Likewise. * tests/test-c-strtod-mt.c: Likewise. * tests/test-c-strtof-mt.c: Likewise. * tests/test-c-strtold-mt.c: Likewise. * tests/test-gmtime_r-mt.c: Likewise. * tests/test-intprops.c: Likewise. * tests/test-limits-h.c: Likewise. * tests/test-localtime_r-mt.c: Likewise. * tests/test-memrchr.c: Likewise. * tests/test-nl_langinfo-mt.c: Likewise. * tests/test-setlocale_null-mt-all.c: Likewise. * tests/test-setlocale_null-mt-one.c: Likewise. * tests/test-statat.c: Likewise. * tests/test-xvasprintf.c: Likewise.
Bruno Haible 513ef326 2024-07-30T19:22:40 Reenable use of attributes in bracket syntax [[...]] (regr. yesterday). * m4/gnulib-common.m4 (gl_COMMON_BODY): Add more comments. Don't define _GL_BRACKET_USABLE. * lib/c++defs.h (_GL_EXTERN_C_FUNC): New macro. (_GL_FUNCDECL_RPL, _GL_FUNCDECL_RPL_1, _GL_FUNCDECL_SYS): Expect the attributes in an optional 4th argument. Expand them before the return type. * lib/arpa_inet.in.h: Update all _GL_FUNCDECL_RPL and _GL_FUNCDECL_SYS invocations. * lib/dirent.in.h: Likewise. * lib/error.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/fnmatch.in.h: Likewise. * lib/glob.in.h: Likewise. * lib/iconv.in.h: Likewise. * lib/inttypes.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/malloc.in.h: Likewise. * lib/math.in.h: Likewise. * lib/monetary.in.h: Likewise. * lib/netdb.in.h: Likewise. * lib/pthread.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.in.h: Likewise. * lib/stdio.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/string.in.h: Likewise. * lib/sys_random.in.h: Likewise. * lib/sys_resource.in.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_time.in.h: Likewise. * lib/threads.in.h: Likewise. * lib/time.in.h: Likewise. * lib/uchar.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/utime.in.h: Likewise. * lib/wchar.in.h: Likewise. * lib/wctype.in.h: Likewise. * lib/c-vasprintf.h (c_aszprintf, c_vaszprintf, c_asprintf, c_vasprintf): Move _GL_ATTRIBUTE_NODISCARD back to the beginning of the declaration.
Bruno Haible 83b3ee9a 2024-07-29T21:59:44 Fix misspelling of __clang_major__. * lib/cdefs.h (__THROW, __THROWNL, __NTH, __NTHNL): Fix misspelled macro name. * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise. * lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise. * lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise. * lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise. * lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise. * lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise. * lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
Bruno Haible 2f4edab0 2024-01-26T00:18:49 Resolve conflicts for functions introduced in Android API level 34. * lib/string.in.h (memset_explicit): Consider REPLACE_MEMSET_EXPLICIT. * m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_MEMSET_EXPLICIT. * modules/string (Makefile.am): Substitute REPLACE_MEMSET_EXPLICIT. * m4/memset_explicit.m4 (gl_FUNC_MEMSET_EXPLICIT): Test for memset_explicit using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE. Conditionally set REPLACE_MEMSET_EXPLICIT. * modules/memset_explicit (configure.ac): Consider REPLACE_MEMSET_EXPLICIT. * doc/posix-functions/memset_explicit.texi: Mention the Android API levels.
Bruno Haible dee279cf 2024-01-02T11:37:05 strverscmp: Work around bug in musl libc 1.2.3 and in Cygwin. Reported by Dmitry Bogatov <KAction@gnu.org> via Simon Josefsson in <https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00002.html>. * m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_STRVERSCMP. * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Test whether strverscmp works and set REPLACE_STRVERSCMP if not. * lib/string.in.h (strverscmp): Consider REPLACE_STRVERSCMP. * modules/strverscmp (Depends-on, configure.ac): Likewise. * modules/string (Makefile.am): Substitute REPLACE_STRVERSCMP. * tests/test-strverscmp.c (main): Add test cases suggested by Dmitry Bogatov and by Simon Josefsson. * doc/glibc-functions/strverscmp.texi: Mention the musl and Cygwin bug. Update version info regarding FreeBSD.
Simon Josefsson 5b92dd0a 2024-01-01T10:31:48 maint: run 'make update-copyright'
Bruno Haible afd0db41 2023-09-10T23:33:41 Fix clang errors "different exception specifier" (regr. 2023-09-04). * lib/malloc.in.h (memalign): Don't use _GL_ATTRIBUTE_NOTHROW on platforms other than glibc systems. * lib/stdio.in.h (fdopen): Likewise. * lib/stdlib.in.h (aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Likewise. * lib/string.in.h (strdup, strndup): Likewise. * lib/sys_stat.in.h (getumask): Likewise. * lib/wchar.in.h (wcsdup): Likewise.
Bruno Haible 930d701f 2023-09-07T22:22:43 Don't use 'throw ()' in C++ 11 or newer. * lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (abort): Declare with _GL_ATTRIBUTE_NOTHROW instead of throw(). * lib/malloc.in.h (rpl_free, free): Likewise. * lib/stdlib.in.h (free): Likewise. * lib/string.in.h (rpl_free, free, memchr, memrchr, rawmemchr, strchrnul, strpbrk, strstr, strcasestr): Likewise. * lib/wchar.in.h (rpl_free, free): Likewise. * lib/getopt-cdefs.in.h (__THROW): Define to noexcept(true) for C++ 11 or newer. * lib/md5.h (__THROW): Likewise.
Bruno Haible 0b61e454 2023-09-04T19:22:21 Fix some g++ warnings "has a different exception specifier". * m4/gnulib-common.m4 (gl_COMMON_BODY): Make _GL_ATTRIBUTE_NOTHROW effective in C++ mode. * lib/attribute.h (ATTRIBUTE_NOTHROW): Add a comment. * lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (memalign): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (fdopen): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (strdup, strndup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (getumask): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (wcsdup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
Bruno Haible dcba8542 2023-04-13T22:17:02 Adjust comments in <config.h> reminders. * lib/*.in.h: In the comments, mention also HAVE_RAW_DECL_*. * Makefile (sc_check_config_h_reminder): Search also for HAVE_RAW_DECL_.
Bruno Haible 8ad7bc67 2023-04-12T14:49:29 Add more reminders to include <config.h>. * m4/gnulib-common.m4 (gl_COMMON): In config.h, define _GL_CONFIG_H_INCLUDED. * lib/acl-internal.h: Test _GL_CONFIG_H_INCLUDED instead of _GL_INLINE_HEADER_BEGIN. * lib/alignalloc.h: Likewise. * lib/argp-fmtstream.h: Likewise. * lib/argp.h: Likewise. * lib/binary-io.h: Likewise. * lib/bitrotate.h: Likewise. * lib/c-ctype.h: Likewise. * lib/count-leading-zeros.h: Likewise. * lib/count-one-bits.h: Likewise. * lib/count-trailing-zeros.h: Likewise. * lib/eealloc.h: Likewise. * lib/execinfo.in.h: Likewise. * lib/gethrxtime.h: Likewise. * lib/gl_list.h: Likewise. * lib/gl_map.h: Likewise. * lib/gl_omap.h: Likewise. * lib/gl_openssl.h: Likewise. * lib/gl_oset.h: Likewise. * lib/gl_set.h: Likewise. * lib/gl_xlist.h: Likewise. * lib/gl_xmap.h: Likewise. * lib/gl_xomap.h: Likewise. * lib/gl_xoset.h: Likewise. * lib/gl_xset.h: Likewise. * lib/gl_xsublist.h: Likewise. * lib/glthread/cond.h: Likewise. * lib/hamt.h: Likewise. * lib/ialloc.h: Likewise. * lib/math.in.h: Likewise. * lib/mbchar.h: Likewise. * lib/mbfile.h: Likewise. * lib/mbiter.h: Likewise. * lib/mbuiter.h: Likewise. * lib/openat.h: Likewise. * lib/pipe-filter-aux.h: Likewise. * lib/priv-set.h: Likewise. * lib/safe-alloc.h: Likewise. * lib/savewd.h: Likewise. * lib/se-context.in.h: Likewise. * lib/se-label.in.h: Likewise. * lib/se-selinux.in.h: Likewise. * lib/sig-handler.h: Likewise. * lib/stat-time.h: Likewise. * lib/string-desc-quotearg.h: Likewise. * lib/string-desc.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/timespec.h: Likewise. * lib/u64.h: Likewise. * lib/uchar.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/utimens.h: Likewise. * lib/wctype.in.h: Likewise. * lib/xalloc.h: Likewise. * lib/xbinary-io.h: Likewise. * lib/xsize.h: Likewise. * lib/xstring-desc.h: Likewise. * lib/xtime.h: Likewise. * lib/acl.h: Check that config.h was already included. * lib/alignof.h: Likewise. * lib/argmatch.h: Likewise. * lib/argv-iter.h: Likewise. * lib/arpa_inet.in.h: Likewise. * lib/attribute.h: Likewise. * lib/backupfile.h: Likewise. * lib/base32.h: Likewise. * lib/base64.h: Likewise. * lib/basename-lgpl.h: Likewise. * lib/bitset.h: Likewise. * lib/bitsetv.h: Likewise. * lib/c-snprintf.h: Likewise. * lib/c-stack.h: Likewise. * lib/c-strcase.h: Likewise. * lib/c-vasnprintf.h: Likewise. * lib/c-vasprintf.h: Likewise. * lib/c-vsnprintf.h: Likewise. * lib/c-xvasprintf.h: Likewise. * lib/canon-host.h: Likewise. * lib/canonicalize.h: Likewise. * lib/clean-temp.h: Likewise. * lib/concat-filename.h: Likewise. * lib/ctype.in.h: Likewise. * lib/dfa.h: Likewise. * lib/di-set.h: Likewise. * lib/dirent-safer.h: Likewise. * lib/dirent.in.h: Likewise. * lib/dirname.h: Likewise. * lib/eloop-threshold.h: Likewise. * lib/error.in.h: Likewise. * lib/exclude.h: Likewise. * lib/fatal-signal.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/file-type.h: Likewise. * lib/filenamecat.h: Likewise. * lib/filevercmp.h: Likewise. * lib/flexmember.h: Likewise. * lib/fnmatch.in.h: Likewise. * lib/fpending.h: Likewise. * lib/freadable.h: Likewise. * lib/freadahead.h: Likewise. * lib/freading.h: Likewise. * lib/fts_.h: Likewise. * lib/fwritable.h: Likewise. * lib/fwriting.h: Likewise. * lib/gc.h: Likewise. * lib/get_progname_of.h: Likewise. * lib/glob.in.h: Likewise. * lib/glthread/thread.h: Likewise. * lib/hash-pjw-bare.h: Likewise. * lib/hash-pjw.h: Likewise. * lib/hash-triple.h: Likewise. * lib/hash.h: Likewise. * lib/i-ring.h: Likewise. * lib/iconv.in.h: Likewise. * lib/ino-map.h: Likewise. * lib/inttostr.h: Likewise. * lib/inttypes.in.h: Likewise. * lib/javaversion.h: Likewise. * lib/langinfo.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/localename.h: Likewise. * lib/malloc.in.h: Likewise. * lib/malloca.h: Likewise. * lib/memcasecmp.h: Likewise. * lib/memchr2.h: Likewise. * lib/memcmp2.h: Likewise. * lib/modechange.h: Likewise. * lib/monetary.in.h: Likewise. * lib/mountlist.h: Likewise. * lib/netdb.in.h: Likewise. * lib/obstack.h: Likewise. * lib/opendirat.h: Likewise. * lib/pagealign_alloc.h: Likewise. * lib/pipe-filter.h: Likewise. * lib/poll.in.h: Likewise. * lib/pthread.in.h: Likewise. * lib/pty.in.h: Likewise. * lib/quotearg.h: Likewise. * lib/read-file.h: Likewise. * lib/readline.h: Likewise. * lib/readutmp.h: Likewise. * lib/regex-quote.h: Likewise. * lib/relocatable.h: Likewise. * lib/savedir.h: Likewise. * lib/sched.in.h: Likewise. * lib/search.in.h: Likewise. * lib/sh-quote.h: Likewise. * lib/signal.in.h: Likewise. * lib/sigpipe-die.h: Likewise. * lib/sockets.h: Likewise. * lib/spawn.in.h: Likewise. * lib/ssfmalloc.h: Likewise. * lib/stack.h: Likewise. * lib/stdalign.in.h: Likewise. * lib/stdarg.in.h: Likewise. * lib/stddef.in.h: Likewise. * lib/stdio-safer.h: Likewise. * lib/stdio.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/stdnoreturn.in.h: Likewise. * lib/strerror-override.h: Likewise. * lib/striconv.h: Likewise. * lib/striconveh.h: Likewise. * lib/striconveha.h: Likewise. * lib/string-buffer.h: Likewise. * lib/string.in.h: Likewise. * lib/strings.in.h: Likewise. * lib/strnlen1.h: Likewise. * lib/sys_file.in.h: Likewise. * lib/sys_ioctl.in.h: Likewise. * lib/sys_random.in.h: Likewise. * lib/sys_resource.in.h: Likewise. * lib/sys_select.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_time.in.h: Likewise. * lib/sys_times.in.h: Likewise. * lib/sys_utsname.in.h: Likewise. * lib/sys_wait.in.h: Likewise. * lib/system-quote.h: Likewise. * lib/term-style-control.h: Likewise. * lib/termios.in.h: Likewise. * lib/textstyle.in.h: Likewise. * lib/threads.in.h: Likewise. * lib/time.in.h: Likewise. * lib/trim.h: Likewise. * lib/utime.in.h: Likewise. * lib/utmp.in.h: Likewise. * lib/vasnprintf.h: Likewise. * lib/verror.h: Likewise. * lib/version-etc.h: Likewise. * lib/wchar.in.h: Likewise. * lib/windows-spawn.h: Likewise. * lib/windows-thread.h: Likewise. * lib/xgetcwd.h: Likewise. * lib/xgetdomainname.h: Likewise. * lib/xgethostname.h: Likewise. * lib/xmalloca.h: Likewise. * lib/xmemdup0.h: Likewise. * lib/xprintf.h: Likewise. * lib/xreadlink.h: Likewise. * lib/xstriconv.h: Likewise. * lib/xstriconveh.h: Likewise. * lib/xstrndup.h: Likewise. * lib/xstrtol-error.h: Likewise. * lib/xvasprintf.h: Likewise. * Makefile (config_h_MACROS*): New variables. (sc_check_config_h_reminder): New rule.
Bruno Haible e5ba746b 2023-02-09T13:16:31 Fix error in C++ mode on glibc systems (regression 2022-04-28). * lib/malloc.in.h (rpl_free): Add exception specification like stdlib.in.h does. * lib/string.in.h (rpl_free): Likewise. * lib/wchar.in.h (rpl_free): Likewise.
Bruno Haible 11525f62 2023-01-22T14:11:49 Resolve conflicts for functions introduced in Android API level 23. * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Conditionally set REPLACE_STRERROR_R. * lib/string.in.h (strerror_r): Disable _GL_CXXALIASWARN invocation on non-glibc systems.
Bruno Haible 9746be9c 2023-01-22T13:01:14 Resolve conflicts for functions introduced in Android API level 23. * lib/string.in.h (mempcpy): Consider REPLACE_MEMPCPY. Disable _GL_CXXALIASWARN invocation on non-glibc systems. * m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_MEMPCPY. * modules/string (Makefile.am): Substitute REPLACE_MEMPCPY. * m4/mempcpy.m4 (gl_FUNC_STPCPY): Conditionally set REPLACE_MEMPCPY. * modules/mempcpy (configure.ac): Consider REPLACE_MEMPCPY.
Bruno Haible 5ca443e0 2023-01-22T12:27:03 Resolve conflicts for functions introduced in Android API level 21. * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Conditionally set REPLACE_STPNCPY. * lib/string.in.h (stpncpy): Disable _GL_CXXALIASWARN invocation on non-glibc systems.
Bruno Haible b6b037e6 2023-01-22T11:51:46 Resolve conflicts for functions introduced in Android API level 21. * lib/string.in.h (stpcpy): Consider REPLACE_STPCPY. Disable _GL_CXXALIASWARN invocation on non-glibc systems. * m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_STPCPY. * modules/string (Makefile.am): Substitute REPLACE_STPCPY. * m4/stpcpy.m4 (gl_FUNC_STPCPY): Conditionally set REPLACE_STPCPY. * modules/stpcpy (configure.ac): Consider REPLACE_STPCPY.
Bruno Haible 6f6ca19e 2023-01-05T17:35:34 string: Fix compilation errors in C++ mode on Android. * lib/string.in.h (memrchr, strchrnul, strcasestr): Disable _GL_CXXALIASWARN invocation on non-glibc systems.
Bruno Haible 7c4ee888 2023-01-03T21:33:32 ffsl, ffsll: Fix compilation error on Android. * lib/string.in.h: On Android as well, include <strings.h>. * m4/ffsl.m4 (gl_FUNC_FFSL): Use a specific link test instead of AC_CHECK_FUNCS_ONCE. * m4/ffsll.m4 (gl_FUNC_FFSLL): Likewise. * doc/glibc-functions/ffsl.texi: Mention Android problems. * doc/glibc-functions/ffsll.texi: Likewise.
Simon Josefsson 32a72f45 2023-01-01T01:14:21 maint: run 'make update-copyright'
Bruno Haible fde75446 2022-12-27T11:21:45 Fix compilation errors in C++ mode on Solaris 11 OpenIndiana. * m4/gnulib-common.m4 (gl_COMMON_BODY): In _GL_ATTRIBUTE_DEALLOC_FREE, with GNU C++, cast the 'free' function. * lib/string.in.h (_GL_ATTRIBUTE_DEALLOC_FREE): With GNU C++, cast the 'free' function. * lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC_FREE): Likewise.
Paul Eggert e4603ee9 2022-11-27T20:52:04 memset_explicit: new module * doc/posix-functions/memset_explicit.texi, lib/memset_explicit.c: * m4/memset_explicit.m4, modules/memset_explicit: * modules/memset_explicit-tests, tests/test-memset_explicit.c: New files. * lib/string.in.h (memset_explict): New decl. * m4/string_h.m4 (gl_STRING_H, gl_STRING_H_REQUIRE_DEFAULTS) (gl_STRING_H_DEFAULTS): * modules/string (string.h): Support memset_explicit.
Bruno Haible 36bd8062 2022-09-10T18:20:58 string: Fix compilation error in C++ mode on AIX 7.2 with xlclang. * lib/string.in.h (mbslen): Enable the C++ alias warning only on glibc systems.
Bruno Haible 4bc2b6f6 2022-05-15T13:25:46 string, wchar: Fix compilation error on MSVC (regression 2021-09-07). * lib/string.in.h (free): For MSVC, add the dllimport specification if the MSVC headers have it. * lib/wchar.in.h (free): Likewise.
Bruno Haible 84863a1c 2022-04-30T14:09:00 string: Avoid syntax error on glibc systems with GCC 11. Reported by Tom Tromey <tromey@adacore.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00075.html> and by Satadru Pramanik <satadru@umich.edu> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00076.html>. * lib/string.in.h (strndup): Don't rededeclare strndup if it is defined as a macro.
Bruno Haible f358d8dd 2022-04-14T00:52:26 string, wchar: Fix error in C++ mode on glibc systems with clang. * lib/string.in.h (free): Add exception specification like glibc does. * lib/wchar.in.h (free): Likewise.
Bruno Haible 0b3f5d1b 2022-04-14T00:29:04 string: Fix errors in C++ mode on glibc systems with clang. * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk, strstr, strcasestr): Use _GL_CXXALIASWARN1 also with clang, and add exception specification.
Bruno Haible cbdb5ea6 2022-02-10T02:44:14 string: Fix "mismatched allocation function" warnings regarding strndup. * lib/string.in.h (strndup): Mark with _GL_ATTRIBUTE_MALLOC and _GL_ATTRIBUTE_DEALLOC_FREE. For GCC >= 11: Declare also when the platform already declares the function or when the module 'strndup' is not in use.
Bruno Haible b79766ea 2022-01-04T13:20:55 string, wchar: Fix compilation error on MSVC (regression 2021-09-07). * lib/string.in.h (free): Don't redeclare as rpl_free. Instead, redefine _GL_ATTRIBUTE_DEALLOC_FREE to reference rpl_free directly. * lib/wchar.in.h (free): Likewise.
Paul Eggert eec12c00 2022-01-01T09:43:19 maint: run 'make update-copyright'
Bruno Haible cc91160a 2021-10-25T00:34:24 string: Avoid syntax error re strdup in string.in.h (regr. 2021-09-07). Reported by Jan Engelhardt <jengelh@inai.de> and by Arash Esbati <arash@gnu.org> via Andy Moreton in <https://lists.gnu.org/archive/html/bug-gnulib/2021-10/msg00058.html>. * lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE, _GL_ATTRIBUTE_MALLOC): Add fallback declarations, like in lib/stdlib.in.h. * lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE, _GL_ATTRIBUTE_MALLOC): Likewise.
Bruno Haible 4bed390b 2021-09-18T16:31:52 string, wchar: Don't cause link errors for rpl_free (regr. 2021-09-07). * lib/string.in.h (free, rpl_free): Consider GNULIB_FREE_POSIX variable. * lib/wchar.in.h (free, rpl_free): Likewise. * m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Require module indicator variable initializations from the stdlib module. * m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Likewise. * modules/string (Makefile.am): Substitute GNULIB_FREE_POSIX in string.h. * modules/wchar (Makefile.am): Substitute GNULIB_FREE_POSIX in wchar.h.
Paul Eggert 48cfbe8a 2021-09-08T09:42:41 string, wchar: port rpl_free decl to Android * lib/string.in.h, lib/wchar.in.h: (free): When replacing it, declare the unreplaced version too. Problem reported by Lucy Phipps in: https://lists.gnu.org/r/bug-gnulib/2021-09/msg00026.html
Paul Eggert a4a2d039 2021-09-07T17:51:39 string, wchar: avoid some namespace pollution * lib/string.in.h, lib/wchar.in.h: (free): Declare by hand instead of including stdlib.h. This avoids some namespace pollution. It should also avoid some nested-include problems described by Lucy Phipps in: https://lists.gnu.org/r/bug-gnulib/2021-09/msg00018.html * modules/string, modules/wchar: (Depends-on): Add stdlib, so that REPLACE_FREE has the right value. (Makefile.am): Replace @REPLACE_FREE@ when creating the include file.
Bruno Haible 354f27fe 2021-08-22T23:54:40 Make generated .in.h files as standalone as possible. Reported by Jan Engelhardt <jengelh@inai.de>. * lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE, _GL_ATTRIBUTE_MALLOC): Add fallback definitions. * lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC): Add fallback definitions. * lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC): Add fallback definition. * lib/math.in.h (_GL_ATTRIBUTE_CONST): Add fallback definition. * lib/pthread.in.h (_GL_ATTRIBUTE_PURE): Add fallback definition. * lib/threads.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/uchar.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_PURE): Move definition, for consistency with the other *.in.h files. * lib/se-context.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Add fallback definition. * lib/se-label.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Likewise. * lib/se-selinux.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Likewise. * lib/textstyle.in.h: Use _GL_ATTRIBUTE_MAYBE_UNUSED instead of _GL_UNUSED. (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_MAYBE_UNUSED): Add fallback definitions.
Bruno Haible 48ece5c3 2021-08-08T18:18:25 stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking. * lib/stdlib.in.h (aligned_alloc): For GCC >= 11: Declare also when the platform already declares the function or when the module 'aligned_alloc' is not in use. (calloc): For GCC >= 11: Declare nearly always. (canonicalize_file_name): For GCC >= 11: Declare also when the platform already declares the function or when the module 'canonicalize-lgpl' is not in use. (malloc, realloc): For GCC >= 11: Declare nearly always. * lib/malloc.in.h: Remove redundant include. (memalign): For GCC >= 11: Declare also when the platform already declares the function or when the module 'memalign' is not in use. * lib/string.in.h: Include <stdlib.h> always. (strdup): For GCC >= 11: Declare also when the platform already declares the function or when the module 'strdup' or 'strdup-posix' is not in use. * lib/wchar.in.h: Include <stdlib.h> always. (wcsdup): For GCC >= 11: Declare also when the platform already declares the function or when the module 'wcsdup' is not in use. * modules/free-posix (Depends-on): Add string, wchar.
Bruno Haible e78a8a2d 2021-08-07T16:40:12 stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking. * lib/stdlib.in.h (free): Move declaration up. (aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Declare that deallocation must happen through 'free' (which may actually be 'rpl_free'). * lib/string.in.h: Include <stdlib.h>. (strdup): Declare deallocation. * lib/wchar.in.h: Include <stdlib.h>. (wcsdup): Declare deallocation. * lib/malloc.in.h: Include <stdlib.h>. (memalign): Declare deallocation.
Bruno Haible 11d8c3e2 2021-06-07T01:19:05 Fix comments.
Bruno Haible 5ffa1440 2021-06-04T20:55:41 Put LGPLv2+ notices in source files where appropriate. * lib/**.{h,c,gperf}: Use LGPLv2+ notice whenever the module description says so.
Bruno Haible e182feb2 2021-01-05T07:15:09 ffsll: Override completely broken implementation on AIX in 32-bit mode. * m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If not, set REPLACE_FFSLL. * lib/string.in.h (ffsll): Consider REPLACE_FFSLL. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize REPLACE_FFSLL. * modules/string (Makefile.am): Substitute REPLACE_FFSLL. * modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL. * doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.
Bruno Haible ae9fb3d6 2021-01-04T08:02:18 ffsl, ffsll: Work around AIX 7.2 problem. * lib/string.in.h: On AIX, include <strings.h> for the declarations of ffsl and ffsll. * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem. * doc/glibc-functions/ffsll.texi: Likewise.
Paul Eggert 4b948321 2021-01-01T07:28:52 maint: run 'make update-copyright'
Bruno Haible 52c7413a 2020-12-25T13:48:17 Make it possible to turn off each of the Windows oldnames workarounds. * lib/fcntl.in.h (creat, open): Conditionalize each of the Windows oldnames workarounds through a GNULIB_MDA_<func> symbol. * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise. * lib/search.in.h (lfind, lsearch): Likewise. * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam): Likewise. * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise. * lib/string.in.h (memccpy, strdup): Likewise. * lib/sys_stat.in.h (chmod, umask): Likewise. * lib/time.in.h (tzset): Likewise. * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle, execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek, read, rmdir, swab, unlink, write): Likewise. * lib/utime.in.h (utime): Likewise. * lib/wchar.in.h (wcsdup): Likewise. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these GNULIB_MDA_<func> symbols. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise. * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise. * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise. * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise. * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise. * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func> symbols. * modules/math (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/utime-h (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise.
Paul Eggert 67b5d51f 2020-12-13T17:32:34 string: port memchr macro to AIX 7.2 XLC Its <string.h> defines a memchr macro to help inlining. * lib/string.in.h (memchr): #undef before #defining.
Bruno Haible 5b6ea851 2020-12-06T16:43:36 Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE. Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>. * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro. * lib/fcntl.in.h (creat, open): In C++ mode, when GNULIB_NAMESPACE is defined: 1. Define a symbol in this namespace. 2. Don't redirect using a preprocessor #define. * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise. * lib/search.in.h (lfind, lsearch): Likewise. * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam): Likewise. * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise. * lib/string.in.h (memccpy, strdup): Likewise. * lib/sys_stat.in.h (chmod, umask): Likewise. * lib/time.in.h (tzset): Likewise. * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle, execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek, read, rmdir, swab, unlink, write): Likewise. * lib/utime.in.h (utime): Likewise. * lib/wchar.in.h (wcsdup): Likewise. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL. (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL. * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT. (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT. * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE. (gl_UNISTD_H): Set HAVE_DECL_EXECVPE. * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE. * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP. (gl_WCHAR_H): Set HAVE_DECL_WCSDUP. * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
Bruno Haible 4041bb7c 2020-08-30T22:19:05 strerrorname_np: New module. * lib/string.in.h (strerrorname_np): New declaration. * lib/strerrorname_np.c: New file. * m4/strerrorname_np.m4: New file. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np is declared. (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP, HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP. * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP, HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP. * modules/strerrorname_np: New file. * tests/test-string-c++.cc: Verify the signature of strerrorname_np. * doc/glibc-functions/strerrorname_np.texi: Mention the new module and the glibc 2.32 bug.
Bruno Haible e5f37108 2020-08-22T02:22:05 sigdescr_np: New module. * lib/string.in.h (sigdescr_np): New declaration. * lib/sigdescr_np.c: New file. * m4/sigdescr_np.m4: New file. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is declared. (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP, HAVE_SIGDESCR_NP. * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP, HAVE_SIGDESCR_NP. * modules/sigdescr_np: New file. * tests/test-string-c++.cc: Verify the signature of sigdescr_np. * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
Bruno Haible f57bc6d1 2020-08-21T00:54:18 sigabbrev_np: New module. * lib/string.in.h (sigabbrev_np): New declaration. * lib/sigabbrev_np.c: New file. * m4/sigabbrev_np.m4: New file. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is declared. (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP, HAVE_SIGABBREV_NP. * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP, HAVE_SIGABBREV_NP. * modules/sigabbrev_np: New file. * tests/test-string-c++.cc: Verify the signature of sigabbrev_np. * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
Bruno Haible d4c637e5 2020-08-15T16:54:17 Support compiling without -loldnames on native Windows. * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros. * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES. (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise. * m4/dup.m4 (gl_FUNC_DUP): Likewise. * m4/dup2.m4 (gl_FUNC_DUP2): Likewise. * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise. * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise. * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise. * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise. * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise. * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise. * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise. * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise. * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise. * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise. * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise. * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise. * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE): Likewise. * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise. * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise. * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise. * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise. * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise. * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise. * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise. * m4/poll.m4 (gl_FUNC_POLL): Likewise. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise. * m4/pread.m4 (gl_FUNC_PREAD): Likewise. * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise. * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise. * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise. * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise. * m4/rename.m4 (gl_FUNC_RENAME): Likewise. * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise. * m4/select.m4 (gl_FUNC_SELECT): Likewise. * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise. * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise. * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise. * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. * m4/utimens.m4 (gl_UTIMENS): Likewise. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise. * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't test for getcwd. * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime. * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program with GL_MDA_DEFINES. * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro. * lib/fcntl.in.h (creat, open): On native Windows, use the underscore- prefixed symbol. * lib/search.in.h (lfind, lsearch): Likewise. * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam): Likewise. * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise. * lib/string.in.h (memccpy, strdup): Likewise. * lib/sys_stat.in.h (chmod, umask): Likewise. * lib/time.in.h (tzset): Likewise. * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle, execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek, read, rmdir, swab, unlink, write): Likewise. * lib/utime.in.h (utime): Likewise. * lib/wchar.in.h (wcsdup): Likewise. * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise. (isfinite, isinf, isnan, signbit): On native Windows, don't define as an rpl_-prefixed macro. * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd. * lib/close.c (close_nothrow): On native Windows, use _close. * lib/creat.c (orig_creat): On native Windows, use _creat. * lib/dup.c (dup_nothrow): On native Windows, use _dup. * lib/dup2.c (dup2_nothrow): Use _dup2. * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen. * lib/getcwd-lgpl.c: On native Windows, use _getcwd. * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw. * lib/open.c (orig_open): On native Windows, use _open. * lib/read.c (read_nothrow): Use _read. * lib/rmdir.c: On native Windows, use _rmdir. * lib/unlink.c: On native Windows, use _unlink. * lib/write.c (write_nothrow): Use _write. * lib/sys_select.in.h (close): With clang, don't attach a warning on an undefined symbol. * lib/sys_socket.in.h (close): Likewise. * lib/sys_time.in.h (close): Likewise. * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
Bruno Haible 01b5720b 2020-08-11T01:53:13 Use many __attribute__s with clang. * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also on clang. * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin): New macros. (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also on clang. (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__ also on older clang versions. (__attribute__): Don't define to empty on clang. (__attribute_malloc__): Use __attribute__ __malloc__ also on clang. (__attribute_pure__): Use __attribute__ __pure__ also on clang. (__attribute_const__): Use __attribute__ __const__ also on clang. (__attribute_used__): Use __attribute__ __used__ also on clang. (__attribute_noinline__): Use __attribute__ __noinline__ also on clang. (__attribute_deprecated__): Use __attribute__ __deprecated__ also on clang. (__attribute_format_arg__): Use __attribute__ __format_arg__ also on clang. (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__ also on clang. (__nonnull): Use __attribute__ __nonnull__ also on clang. (__attribute_warn_unused_result__): Use __attribute__ __warn_unused_result__ also on clang. (__always_inline): Use __attribute__ __always_inline__ also on clang. (__attribute_artificial__): Use __attribute__ __artificial__ also on clang >= 7. (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older clang versions. (_Noreturn): Don't redefine on clang >= 3.5. * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__ also on clang. * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang. * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__ also on clang. * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise. * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise. * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__ also on clang. (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang. * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use __attribute__ __noreturn__ also on clang. * lib/obstack.h (__attribute_noreturn__): Likewise. * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on clang. * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ always_inline also on clang. * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on clang.
Bruno Haible 7fac3d3d 2020-08-10T03:17:06 string: Fix build error in C++ mode with clang (regression from today). * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype parameters, one for GCC, one for clang. * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update. * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *' as return type.
Bruno Haible 707090c9 2020-07-08T03:19:54 memchr: Remove support for some very old platforms. * m4/memchr-obsolete.m4: Remove file. * modules/memchr-obsolete: Remove file. * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is absent. Don't define HAVE_MEMCHR. * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1. * modules/memchr (Depends-on): Remove memchr-obsolete. (configure.ac): Assume HAVE_MEMCHR is 1. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize HAVE_MEMCHR. * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR. * doc/posix-functions/memchr.texi: Don't mention module 'memchr-obsolete'. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1. * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1. * modules/strnlen (Depends-on): Remove memchr-obsolete.
Bruno Haible 467fb4fc 2020-05-10T18:14:38 string: Fix compilation error in C++ mode. * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain _GL_WARN_ON_USE. * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX instead of _GL_WARN_ON_USE.
Bruno Haible dae13c0c 2020-05-09T12:50:57 dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE. * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition that usually comes from m4/gnulib-common.m4. * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise. * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
Bruno Haible 6f6695ea 2020-02-23T12:24:01 mbstok_r: Use 'restrict'. * lib/string.in.h (mbstok_r): Use 'restrict'.
Bruno Haible 182afcba 2020-02-22T20:57:30 Use 'restrict' in all POSIX function declarations. * lib/iconv.in.h (iconv): Use 'restrict'. * lib/inttypes.in.h (strtoimax, strtoumax): Likewise. * lib/monetary.in.h (strfmon_l): Likewise. * lib/pthread.in.h (pthread_create, pthread_mutex_init, pthread_mutexattr_gettype, pthread_mutexattr_getrobust, pthread_mutex_timedlock, pthread_rwlock_init, pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock, pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise. * lib/search.in.h (tdelete): Likewise. * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise. * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen, fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf, vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf): Likewise. * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll, strtoull): Likewise. * lib/string.in.h (strncat): Likewise. * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt, recvfrom): Likewise. * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise. * lib/time.in.h (strftime): Likewise. * lib/unistd.in.h (readlink, readlinkat): Likewise. * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb, wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy, wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise. * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT. * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise. * m4/monetary_h.m4 (gl_MONETARY_H): Likewise. * m4/search_h.m4 (gl_SEARCH_H): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. * m4/stdio_h.m4 (gl_STDIO_H): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar_h.m4 (gl_WCHAR_H): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the other *_h.m4 files. * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
Paul Eggert 2cdc1baf 2020-01-01T00:00:18 maint: Run 'make update-copyright'
Bruno Haible 98d37180 2019-11-21T11:44:12 Disable many _GL_CXXALIASWARN on all platforms other than glibc systems. Reported by Christian Biesinger <cbiesinger@google.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>. * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on non-glibc systems. * lib/locale.in.h (localeconv, setlocale): Likewise. * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod, frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint, round, trunc): Likewise. * lib/monetary.in.h (strfmon_l): Likewise. * lib/pthread.in.h (pthread_mutexattr_getrobust, pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init, pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): Likewise. * lib/signal.in.h (raise, signal): Likewise. * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc, fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar, perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf, tmpfile, vfprintf, vprintf, vsprintf): Likewise. * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb): Likewise. * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror): Likewise. * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise. * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset, wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll, wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok, wcsftime): Likewise. * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
Paul Eggert 9e78024b 2019-09-22T23:23:20 Update some URLs This is a clerical change that mostly changes http: to https: in URLs where either will work. It also updates some URLs that have moved, removes some URLs that no longer work, and fixes related text.
Paul Eggert e6633650 2019-01-01T00:25:11 maint: Run 'make update-copyright'
Paul Eggert 281b825e 2018-01-01T00:57:25 maint: Run 'make update-copyright'
Paul Eggert ca35d468 2017-09-13T00:48:18 all: prefer https: URLs
Paul Eggert 276416a1 2017-07-16T07:26:16 explicit_bzero: new module The explicit_bzero function has been added to glibc. This module is intended to supports its use in GNU programs. * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c: * m4/explicit_bzero.m4, modules/explicit_bzero: New files. * doc/gnulib.texi (Glibc string.h): Link to new doc. * lib/string.in.h (explicit_bzero): Declare. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it. * modules/string (string.h): Substitute its vars.
Paul Eggert a3fd683d 2017-01-01T02:59:23 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Paul Eggert 9b5002be 2016-08-17T17:24:11 regex, string: rename to avoid '__string' * lib/regex.h, lib/string.in.h: Do not use the identifier '__string', as it is effectively reserved by string.h on z/OS.
Paul Eggert 71090a2a 2016-01-01T00:56:19 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Pádraig Brady 70e0e9ed 2015-05-27T12:59:05 string: fix build failure on BSD/OSX with FORTIFY_SOURCE This avoids a conflict with "FORTIFY_SOURCE" variants of the string functions when they're replaced on NetBSD-6.0.1 and Darwin-14.3.0 at least. On these platforms, the system <string.h> re-includes "string.h" through <strings.h>, before going on to redefine the "FORTIFY_SOURCE" _chk variants. For example rpl_strncat is redefined to __builtin___strncat_chk. Note strncat is being replaced as the configure check is failing with GCC 4.5.0, due to the builtin strncat failing the check. I.E. when compiled with -O2 the test fails, but passes when -fno-builtin-strncat is also specified. -D_FORTIFY_SOURCE has no impact on the configure test result. * lib/string.in.h: Avoid including our "lib/string.h" while including the system <string.h>.
Paul Eggert b9bfe784 2015-01-01T01:38:23 version-etc: new year * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
Eric Blake 1276a2c5 2014-01-01T00:04:40 maint: update copyright I ran 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 9fc81090 2013-01-01T00:50:58 maint: update all copyright year number ranges Run "make update-copyright". Compare to commit 1602f0a from last year. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 64a8db09 2012-03-25T01:56:10 Enable common subexpression optimization in GCC. * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. (alphasort): Declare with GCC attribute 'pure'. * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. (atoll): Declare with GCC attribute 'pure'. * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr, mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk, mbsspn, strverscmp): Declare with GCC attribute 'pure'. * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp, wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
Paul Eggert 341111f6 2012-02-09T21:39:05 maint: replace FSF snail-mail addresses with URLs * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h: * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c: * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c: * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h: * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h: * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c: * lib/check-version.c, lib/check-version.h, lib/config.charset: * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h: * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c: * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c: * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h: * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c: * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h: * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c: * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h: * lib/glthread/thread.c, lib/glthread/thread.h: * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c: * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h: * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c: * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c: * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c: * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c: * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c: * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c: * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c: * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c: * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c: * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c: * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h: * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h: * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin: * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c: * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c: * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c: * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c: * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c: * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c: * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h: * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h: * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c: * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h: * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c: * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c: * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h: * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h: * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h: * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c: * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c: * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h: * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c: * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h: * lib/xsize.h, tests/test-closein.c, tests/test-des.c: * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c: * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c: * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c: * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c: * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c: * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c: * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c: * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c: * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c: * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c: * tests/test-poll.c, tests/test-quotearg-simple.c: * tests/test-quotearg.c, tests/test-quotearg.h: * tests/test-round-ieee.c, tests/test-round1.c: * tests/test-roundf-ieee.c, tests/test-roundf1.c: * tests/test-roundl-ieee.c, tests/test-roundl.c: * tests/test-safe-alloc.c, tests/test-sigpipe.c: * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c: * tests/test-strerror.c, tests/test-strerror_r.c: * tests/test-strsignal.c, tests/test-strverscmp.c: * tests/test-xmemdup0.c: Replace FSF snail mail addresses with URLs, as per GNU coding standards. See glibc bug <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
Jim Meyering 1602f0af 2012-01-01T10:04:58 maint: update all copyright year number ranges Run "make update-copyright".
Eric Blake 9c6e26ca 2011-07-15T15:08:34 ffsl, ffsll: new modules * modules/ffsl: New file. * modules/ffsll: Likewise. * m4/ffsl.m4: Likewise. * m4/ffsll.m4: Likewise. * lib/ffsl.c: Likewise. * lib/ffsl.h: Likewise. * lib/ffsll.c: Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY) (gl_HEADER_STRING_H_DEFAULTS): Add defaults. * modules/string (Makefile.am): Substitute witnesses. * lib/strings.in.h (ffsl, ffsll): Declare. * modules/ffsl-tests: New test file. * modules/ffsll-tests: Likewise. * tests/test-ffsl.c: Likewise. * tests/test-ffsll.c: Likewise. * MODULES.html.sh (Integer arithmetic functions): Mention it. * doc/glibc-functions/ffsl.texi (ffsl): Likewise. * doc/glibc-functions/ffsll.texi (ffsll): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 0ab583c0 2011-05-29T15:44:42 Allow multiple gnulib generated include files to be combined. * gnulib-tool (func_compute_include_guard_prefix): New function. (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also ${gl_include_guard_prefix} references. (func_import, func_create_testdir): Invoke func_compute_include_guard_prefix. * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder. * lib/ctype.in.h: Likewise. * lib/dirent.in.h: Likewise. * lib/errno.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/float.in.h: Likewise. * lib/getopt.in.h: Likewise. * lib/iconv.in.h: Likewise. * lib/langinfo.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/math.in.h: Likewise. * lib/netdb.in.h: Likewise. * lib/netinet_in.in.h: Likewise. * lib/poll.in.h: Likewise. * lib/pthread.in.h: Likewise. * lib/pty.in.h: Likewise. * lib/sched.in.h: Likewise. * lib/se-selinux.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.in.h: Likewise. * lib/stdarg.in.h: Likewise. * lib/stddef.in.h: Likewise. * lib/stdint.in.h: Likewise. * lib/stdio.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/string.in.h: Likewise. * lib/strings.in.h: Likewise. * lib/sys_file.in.h: Likewise. * lib/sys_ioctl.in.h: Likewise. * lib/sys_select.in.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_time.in.h: Likewise. * lib/sys_times.in.h: Likewise. * lib/sys_uio.in.h: Likewise. * lib/sys_utsname.in.h: Likewise. * lib/sys_wait.in.h: Likewise. * lib/sysexits.in.h: Likewise. * lib/termios.in.h: Likewise. * lib/time.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/wchar.in.h: Likewise. * lib/wctype.in.h: Likewise. * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@. * modules/ctype (Makefile.am): Likewise. * modules/dirent (Makefile.am): Likewise. * modules/errno (Makefile.am): Likewise. * modules/fcntl-h (Makefile.am): Likewise. * modules/float (Makefile.am): Likewise. * modules/getopt-posix (Makefile.am): Likewise. * modules/iconv-h (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/netdb (Makefile.am): Likewise. * modules/netinet_in (Makefile.am): Likewise. * modules/poll-h (Makefile.am): Likewise. * modules/pthread (Makefile.am): Likewise. * modules/pty (Makefile.am): Likewise. * modules/sched (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/selinux-h (Makefile.am): Likewise. * modules/signal (Makefile.am): Likewise. * modules/spawn (Makefile.am): Likewise. * modules/stdarg (Makefile.am): Likewise. * modules/stddef (Makefile.am): Likewise. * modules/stdint (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/strings (Makefile.am): Likewise. * modules/sys_file (Makefile.am): Likewise. * modules/sys_ioctl (Makefile.am): Likewise. * modules/sys_select (Makefile.am): Likewise. * modules/sys_socket (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/sys_time (Makefile.am): Likewise. * modules/sys_times (Makefile.am): Likewise. * modules/sys_uio (Makefile.am): Likewise. * modules/sys_utsname (Makefile.am): Likewise. * modules/sys_wait (Makefile.am): Likewise. * modules/sysexits (Makefile.am): Likewise. * modules/termios (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * modules/wctype-h (Makefile.am): Likewise. * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
Bruno Haible 4ed97792 2011-05-26T12:28:51 mbsrchr: Avoid collision with system function on Interix. * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix. Reported by Markus Duft <mduft@gentoo.org>.
Bruno Haible d8fb6162 2011-04-16T12:10:16 strchrnul: Tweak last commit. * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin bug. * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL as in _GL_FUNCDECL_SYS. * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
Eric Blake 2aa729ac 2011-04-15T13:53:50 strchrnul: work around cygwin bug A misplaced * means that cygwin 1.7.9 dereferences NULL rather than returning the location of the trailing NUL byte. * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug. * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness. * modules/string (Makefile.am): Substitute it. * lib/string.in.h (strchrnul): Use it. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible e680a55c 2011-02-13T11:59:12 Don't interfere with a program's definition of __attribute__. * lib/stdio.in.h (__attribute__): Remove definition. (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros. (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf, printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf, vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF. * lib/string.in.h (__attribute__): Remove definition. Reported by Paul Eggert.
Jim Meyering d60f3b0c 2011-01-01T20:17:23 maint: update almost all copyright ranges to include 2011 Run the new "make update-copyright" rule.
Bruno Haible 63bc47a1 2010-11-20T18:54:00 Port to uClibc. * lib/relocatable.c (find_shared_library_fullname): Treat uClibc like glibc. * lib/strerror_r.c: Likewise. * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise. * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise. * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise. * m4/glibc21.m4 (gl_GLIBC21): Likewise. * tests/test-sigaction.c (handler, main): Likewise. * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL): Treat uClibc like a non-glibc platform. * lib/propername.c (proper_name_utf8): Likewise. * lib/spawn.in.h: Likewise. * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise. * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1, mem_cd_iconveh_internal): Likewise. * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise. * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk, strstr, strcasestr): Likewise. * lib/unicodeio.c (unicode_to_mb): Likewise. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. * m4/glibc2.m4 (gt_GLIBC2): Likewise. * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise. * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR): Likewise. * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar_h.m4 (gl_WCHAR_H): Likewise. * tests/test-getopt.h (OPTIND_MIN): Likewise. * tests/test-striconveha.c (main): Likewise. * doc/posix-functions/getdelim.texi: Mention an uClibc bug. * doc/posix-functions/getline.texi: Likewise. Reported by Mike Frysinger <vapier@gentoo.org>.
Bruno Haible 18384947 2010-11-11T13:15:28 New module 'strerror_r-posix'. * lib/string.in.h (strerror_r): New declaration. * lib/strerror_r.c: New file. * m4/strerror_r.m4: New file. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration of strerror_r. (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R, HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R. * modules/strerror_r-posix: New file. * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R, HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R. * doc/posix-functions/strerror_r.texi: Mention the new module and the portability problems.
Bruno Haible a4c6c61e 2010-10-07T00:52:15 string, sys_select: Avoid #including large headers unless necessary. * lib/string.in.h: Don't include <unistd.h> except on NetBSD. * lib/sys_select.in.h: Don't include <string.h> except on Solaris, OSF/1, BeOS, Haiku. Reported by Jim Meyering.
Bruno Haible 968e74c2 2010-10-04T23:35:51 Avoid line length limitation from HP NonStop system header files. * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS. * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS. * lib/ctype.in.h: Likewise. * lib/dirent.in.h: Likewise. * lib/errno.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/float.in.h: Likewise. * lib/getopt.in.h: Likewise. * lib/iconv.in.h: Likewise. * lib/inttypes.in.h: Likewise. * lib/langinfo.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/math.in.h: Likewise. * lib/netdb.in.h: Likewise. * lib/netinet_in.in.h: Likewise. * lib/poll.in.h: Likewise. * lib/pthread.in.h: Likewise. * lib/pty.in.h: Likewise. * lib/sched.in.h: Likewise. * lib/se-selinux.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.in.h: Likewise. * lib/stdarg.in.h: Likewise. * lib/stddef.in.h: Likewise. * lib/stdint.in.h: Likewise. * lib/stdio.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/string.in.h: Likewise. * lib/strings.in.h: Likewise. * lib/sys_file.in.h: Likewise. * lib/sys_ioctl.in.h: Likewise. * lib/sys_select.in.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_time.in.h: Likewise. * lib/sys_times.in.h: Likewise. * lib/sys_utsname.in.h: Likewise. * lib/sys_wait.in.h: Likewise. * lib/sysexits.in.h: Likewise. * lib/termios.in.h: Likewise. * lib/time.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/wchar.in.h: Likewise. * lib/wctype.in.h: Likewise. * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS. * modules/ctype (Makefile.am): Likewise. * modules/dirent (Makefile.am): Likewise. * modules/errno (Makefile.am): Likewise. * modules/fcntl-h (Makefile.am): Likewise. * modules/float (Makefile.am): Likewise. * modules/getopt-posix (Makefile.am): Likewise. * modules/iconv-h (Makefile.am): Likewise. * modules/inttypes (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/netdb (Makefile.am): Likewise. * modules/netinet_in (Makefile.am): Likewise. * modules/poll-h (Makefile.am): Likewise. * modules/pthread (Makefile.am): Likewise. * modules/pty (Makefile.am): Likewise. * modules/sched (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/selinux-h (Makefile.am): Likewise. * modules/signal (Makefile.am): Likewise. * modules/spawn (Makefile.am): Likewise. * modules/stdarg (Makefile.am): Likewise. * modules/stddef (Makefile.am): Likewise. * modules/stdint (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/strings (Makefile.am): Likewise. * modules/sys_file (Makefile.am): Likewise. * modules/sys_ioctl (Makefile.am): Likewise. * modules/sys_select (Makefile.am): Likewise. * modules/sys_socket (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/sys_time (Makefile.am): Likewise. * modules/sys_times (Makefile.am): Likewise. * modules/sys_utsname (Makefile.am): Likewise. * modules/sys_wait (Makefile.am): Likewise. * modules/sysexits (Makefile.am): Likewise. * modules/termios (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * modules/wctype (Makefile.am): Likewise.
Eric Blake c753b7ca 2010-09-09T17:05:15 strsignal: work around NetBSD bug * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>. * lib/string.in.h (includes): Likewise. * doc/posix-functions/strsignal.texi (strsignal): Document the bug. Reported by Nelson H. F. Beebe. Signed-off-by: Eric Blake <eblake@redhat.com>