From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vivien Kraus via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" Newsgroups: gmane.lisp.guile.bugs Subject: bug#49870: [PATCH] Improve syntax source location accuracy Date: Wed, 04 Aug 2021 11:50:58 +0200 Message-ID: <87y29hh725.fsf@planete-kraus.eu> Reply-To: Vivien Kraus Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19691"; mail-complaints-to="usenet@ciao.gmane.io" To: 49870@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Wed Aug 04 12:04:26 2021 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBDlB-0000W1-Jr for guile-bugs@m.gmane-mx.org; Wed, 04 Aug 2021 12:04:26 +0200 Original-Received: from localhost ([::1]:40808 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mBDl8-0006wf-0Z for guile-bugs@m.gmane-mx.org; Wed, 04 Aug 2021 06:04:24 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBDZC-0000vl-TZ for bug-guile@gnu.org; Wed, 04 Aug 2021 05:52:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:59472) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mBDZC-00088B-KY for bug-guile@gnu.org; Wed, 04 Aug 2021 05:52:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mBDZC-00035F-Eg for bug-guile@gnu.org; Wed, 04 Aug 2021 05:52:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Vivien Kraus Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 04 Aug 2021 09:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49870 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.162807070311825 (code B ref -1); Wed, 04 Aug 2021 09:52:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 4 Aug 2021 09:51:43 +0000 Original-Received: from localhost ([127.0.0.1]:42786 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBDYt-00034f-2x for submit@debbugs.gnu.org; Wed, 04 Aug 2021 05:51:43 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:37204) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBDYr-00034Y-Q5 for submit@debbugs.gnu.org; Wed, 04 Aug 2021 05:51:41 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49670) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBDYr-0000D8-3e for bug-guile@gnu.org; Wed, 04 Aug 2021 05:51:41 -0400 Original-Received: from planete-kraus.eu ([2a00:5881:4008:2810::309]:49252) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1mBDYW-0007Uk-KF for bug-guile@gnu.org; Wed, 04 Aug 2021 05:51:40 -0400 Original-Received: from planete-kraus.eu (localhost.lan [127.0.0.1]) by planete-kraus.eu (OpenSMTPD) with ESMTP id a91d4ac4 for ; Wed, 4 Aug 2021 09:51:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=planete-kraus.eu; h=from :to:subject:date:message-id:mime-version:content-type; s=*; bh=e 1K7QeVgAvSizvyswv2F+yaChx0=; b=LBx+UqBapWLuYOQJdR1IR3TyN8ivCK6S1 V0CNRBZ7AVd1e33Skatg4j3wMWGm57x27rS9ALizmLbd4AH+TqErHesCn6EXXiNQ Zt9LLJCceu5ceP1Q/XOQE8DOFT3RQ1TT2DvVhUx1aMaJCYy+7Lq4uF4eROqkIO4f N9BdhvA9qQ= Original-Received: by planete-kraus.eu (OpenSMTPD) with ESMTPSA id 0031f6a5 (TLSv1.3:AEAD-CHACHA20-POLY1305-SHA256:256:NO); Wed, 4 Aug 2021 09:50:59 +0000 (UTC) Received-SPF: pass client-ip=2a00:5881:4008:2810::309; envelope-from=vivien@planete-kraus.eu; helo=planete-kraus.eu X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.io gmane.lisp.guile.bugs:10159 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Dear guile developers, The algorithm to compute the column number has a couple of flaws: 1. The text location may decrease (with #\backspace and #\return), which makes source location ambiguous: (syntax-case (call-with-input-string "(a\r b)" read-syntax) () ((a b) (values (syntax-source #'a) (syntax-source #'b)))) =3D> $1 =3D ((line . 0) (column . 1)) $2 =3D ((line . 0) (column . 1)) and: (syntax-case (call-with-input-string "('a\b\b\b b)" read-syntax) () ((a b) (values (syntax-source #'a) (syntax-source #'b)))) =3D> $1 =3D ((line . 0) (column . 1)) $2 =3D ((line . 0) (column . 1)) This behavior is not desirable for programs that want to inspect the source at this location. 2. Many unicode characters need to span multiple columns, especially non-latin ones. The best solution I found [1] was to use this algorithm: 1. Tabs stop every 8 columns (that=E2=80=99s what Guile already implements); 2. printable ASCII characters span 1 column; 3. other unprintable ASCII characters span 0 columns (I guess? That would be compatible with #\alarm, which has its special test case so I figure it=E2=80=99s important for it to have 0 width); 4. Compute the width of non-ASCII characters with wcwidth. The wcwidth function takes a unicode character, and, depending on the LC_CTYPE locale, determines how many columns it spans. It may fail if LC_CTYPE is not set, and in that case return -1. For this to work, we need to include the wcwidth gnulib module. You can do it yourself, but in order not to forget it, I include the first 2 patches. Don=E2=80=99t be afraid if these patches are huge. The real work is to first expose the wcwidth function to scheme, to implement the algorithm for the suspendable ports (commit 3), and then use wcwidth both in the C ports implementation and in the scheme suspendable ports module (commit 4). Best regards, Vivien [1]: https://www.gnu.org/prep/standards/html_node/Errors.html#Errors --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-Update-Gnulib.patch Content-Transfer-Encoding: quoted-printable >From 877859973b768d76547fe58acd37bca42c7b013e Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Wed, 4 Aug 2021 01:03:20 +0200 Subject: [PATCH 1/4] Update Gnulib --- build-aux/announce-gen | 49 +- build-aux/gendocs.sh | 6 +- build-aux/git-version-gen | 8 +- build-aux/gnupload | 17 +- build-aux/useless-if-before-free | 18 +- lib/Makefile.am | 986 ++++++++++++++++--------------- lib/accept.c | 10 +- lib/accept4.c | 14 +- lib/alignof.h | 12 +- lib/alloca.c | 4 +- lib/alloca.in.h | 20 +- lib/arpa_inet.in.h | 12 +- lib/asnprintf.c | 14 +- lib/assure.h | 10 +- lib/attribute.h | 16 +- lib/basename-lgpl.c | 10 +- lib/basename-lgpl.h | 26 +- lib/binary-io.c | 10 +- lib/binary-io.h | 10 +- lib/bind.c | 10 +- lib/btowc.c | 10 +- lib/byteswap.in.h | 10 +- lib/c-ctype.c | 18 + lib/c-ctype.h | 24 +- lib/c-strcase.h | 12 +- lib/c-strcasecmp.c | 12 +- lib/c-strcaseeq.h | 14 +- lib/c-strncasecmp.c | 12 +- lib/cdefs.h | 18 +- lib/ceil.c | 10 +- lib/cloexec.c | 14 +- lib/cloexec.h | 14 +- lib/close.c | 10 +- lib/connect.c | 10 +- lib/copysign.c | 10 +- lib/dirent.in.h | 10 +- lib/dirfd.c | 10 +- lib/dirname-lgpl.c | 10 +- lib/dirname.h | 38 +- lib/dup2.c | 10 +- lib/duplocale.c | 10 +- lib/dynarray.h | 20 +- lib/errno.in.h | 12 +- lib/fcntl.c | 10 +- lib/fcntl.in.h | 10 +- lib/fd-hook.c | 14 +- lib/fd-hook.h | 14 +- lib/float+.h | 12 +- lib/float.c | 10 +- lib/float.in.h | 10 +- lib/floor.c | 10 +- lib/free.c | 10 +- lib/frexp.c | 10 +- lib/fstat.c | 10 +- lib/fsync.c | 14 +- lib/full-read.c | 10 +- lib/full-read.h | 10 +- lib/full-write.c | 10 +- lib/full-write.h | 10 +- lib/gai_strerror.c | 12 +- lib/getaddrinfo.c | 12 +- lib/getdtablesize.c | 10 +- lib/getlogin.c | 10 +- lib/getpeername.c | 10 +- lib/getrandom.c | 16 +- lib/getsockname.c | 10 +- lib/getsockopt.c | 10 +- lib/gettext.h | 14 +- lib/hard-locale.c | 10 +- lib/hard-locale.h | 10 +- lib/iconv.c | 14 +- lib/iconv.in.h | 12 +- lib/iconv_close.c | 14 +- lib/iconv_open-aix.gperf | 14 +- lib/iconv_open-hpux.gperf | 14 +- lib/iconv_open-irix.gperf | 14 +- lib/iconv_open-osf.gperf | 14 +- lib/iconv_open-solaris.gperf | 14 +- lib/iconv_open-zos.gperf | 14 +- lib/iconv_open.c | 14 +- lib/iconveh.h | 10 +- lib/inet_ntop.c | 12 +- lib/inet_pton.c | 10 +- lib/inttypes.in.h | 10 +- lib/isfinite.c | 14 +- lib/isinf.c | 14 +- lib/isnan.c | 10 +- lib/isnand-nolibm.h | 10 +- lib/isnand.c | 10 +- lib/isnanf-nolibm.h | 10 +- lib/isnanf.c | 10 +- lib/isnanl-nolibm.h | 10 +- lib/isnanl.c | 10 +- lib/itold.c | 10 +- lib/langinfo.in.h | 12 +- lib/lc-charset-dispatch.c | 10 +- lib/lc-charset-dispatch.h | 10 +- lib/libc-config.h | 17 +- lib/libunistring.valgrind | 22 +- lib/limits.in.h | 28 +- lib/link.c | 12 +- lib/listen.c | 10 +- lib/localcharset.c | 14 +- lib/localcharset.h | 14 +- lib/locale.in.h | 10 +- lib/localeconv.c | 10 +- lib/log.c | 10 +- lib/log1p.c | 10 +- lib/lstat.c | 10 +- lib/malloc.c | 47 +- lib/malloca.c | 36 +- lib/malloca.h | 23 +- lib/math.c | 18 + lib/math.in.h | 10 +- lib/mbrtowc-impl-utf8.h | 10 +- lib/mbrtowc-impl.h | 10 +- lib/mbrtowc.c | 10 +- lib/mbsinit.c | 10 +- lib/mbtowc-impl.h | 10 +- lib/mbtowc-lock.c | 10 +- lib/mbtowc-lock.h | 10 +- lib/mbtowc.c | 10 +- lib/memchr.c | 24 +- lib/memchr.valgrind | 10 +- lib/mempcpy.c | 12 +- lib/minmax.h | 12 +- lib/mkdir.c | 10 +- lib/mkostemp.c | 10 +- lib/msvc-inval.c | 14 +- lib/msvc-inval.h | 14 +- lib/msvc-nothrow.c | 14 +- lib/msvc-nothrow.h | 14 +- lib/netdb.in.h | 12 +- lib/netinet_in.in.h | 12 +- lib/nl_langinfo-lock.c | 10 +- lib/nl_langinfo.c | 10 +- lib/nproc.c | 12 +- lib/nproc.h | 12 +- lib/nstrftime.c | 19 +- lib/open.c | 10 +- lib/pathmax.h | 12 +- lib/pipe.c | 14 +- lib/pipe2.c | 14 +- lib/poll.c | 14 +- lib/poll.in.h | 14 +- lib/printf-args.c | 14 +- lib/printf-args.h | 14 +- lib/printf-parse.c | 25 +- lib/printf-parse.h | 14 +- lib/putenv.c | 10 +- lib/raise.c | 10 +- lib/rawmemchr.c | 10 +- lib/rawmemchr.valgrind | 10 +- lib/read.c | 10 +- lib/readlink.c | 10 +- lib/realloc.c | 68 +-- lib/recv.c | 10 +- lib/recvfrom.c | 10 +- lib/regex_internal.c | 9 +- lib/regexec.c | 12 +- lib/rename.c | 10 +- lib/rmdir.c | 10 +- lib/round.c | 14 +- lib/safe-read.c | 10 +- lib/safe-read.h | 10 +- lib/safe-write.c | 10 +- lib/safe-write.h | 10 +- lib/same-inode.h | 10 +- lib/scratch_buffer.h | 20 +- lib/select.c | 23 +- lib/send.c | 10 +- lib/sendto.c | 10 +- lib/setenv.c | 10 +- lib/setlocale-lock.c | 10 +- lib/setlocale_null.c | 10 +- lib/setlocale_null.h | 10 +- lib/setsockopt.c | 10 +- lib/shutdown.c | 10 +- lib/signal.in.h | 10 +- lib/signbitd.c | 10 +- lib/signbitf.c | 10 +- lib/signbitl.c | 10 +- lib/size_max.h | 12 +- lib/snprintf.c | 14 +- lib/socket.c | 10 +- lib/sockets.c | 10 +- lib/sockets.h | 10 +- lib/stat-time.c | 18 + lib/stat-time.h | 10 +- lib/stat-w32.c | 10 +- lib/stat-w32.h | 10 +- lib/stat.c | 10 +- lib/stdalign.in.h | 12 +- lib/stdbool.in.h | 12 +- lib/stddef.in.h | 12 +- lib/stdint.in.h | 16 +- lib/stdio.in.h | 20 +- lib/stdlib.in.h | 25 +- lib/strdup.c | 14 +- lib/streq.h | 14 +- lib/strftime.h | 10 +- lib/striconveh.c | 10 +- lib/striconveh.h | 10 +- lib/string.in.h | 14 +- lib/stripslash.c | 10 +- lib/sys-limits.h | 12 +- lib/sys_file.in.h | 12 +- lib/sys_random.in.h | 12 +- lib/sys_select.in.h | 12 +- lib/sys_socket.c | 18 + lib/sys_socket.in.h | 12 +- lib/sys_stat.in.h | 12 +- lib/sys_time.in.h | 12 +- lib/sys_times.in.h | 12 +- lib/sys_types.in.h | 12 +- lib/sys_uio.in.h | 12 +- lib/tempname.h | 10 +- lib/time-internal.h | 14 +- lib/time.in.h | 12 +- lib/time_r.c | 14 +- lib/time_rz.c | 14 +- lib/times.c | 12 +- lib/trunc.c | 10 +- lib/tzset.c | 12 +- lib/unistd.c | 18 + lib/unistd.in.h | 25 +- lib/unsetenv.c | 10 +- lib/vasnprintf.c | 50 +- lib/vasnprintf.h | 14 +- lib/verify.h | 14 +- lib/vsnprintf.c | 14 +- lib/w32sock.h | 10 +- lib/wchar.in.h | 14 +- lib/wcrtomb.c | 10 +- lib/wctype-h.c | 19 + lib/wctype.in.h | 22 +- lib/windows-initguard.h | 12 +- lib/write.c | 10 +- lib/xalloc-oversized.h | 47 +- lib/xsize.c | 18 + lib/xsize.h | 12 +- m4/arpa_inet_h.m4 | 31 +- m4/dirent_h.m4 | 45 +- m4/environ.m4 | 5 +- m4/fcntl_h.m4 | 39 +- m4/flock.m4 | 4 +- m4/fstat.m4 | 4 +- m4/getaddrinfo.m4 | 10 +- m4/gnulib-cache.m4 | 2 +- m4/gnulib-common.m4 | 126 +++- m4/gnulib-comp.m4 | 140 +++-- m4/hostent.m4 | 4 +- m4/iconv_h.m4 | 27 +- m4/inttypes.m4 | 31 +- m4/langinfo_h.m4 | 25 +- m4/largefile.m4 | 28 +- m4/limits-h.m4 | 3 +- m4/locale_h.m4 | 37 +- m4/malloc.m4 | 152 +++-- m4/math_h.m4 | 227 +++---- m4/memchr.m4 | 4 +- m4/mempcpy.m4 | 4 +- m4/mktime.m4 | 4 +- m4/netdb_h.m4 | 25 +- m4/poll_h.m4 | 29 +- m4/printf.m4 | 5 +- m4/rawmemchr.m4 | 4 +- m4/realloc.m4 | 47 +- m4/regex.m4 | 44 +- m4/select.m4 | 4 +- m4/servent.m4 | 4 +- m4/signal_h.m4 | 33 +- m4/sockpfaf.m4 | 6 +- m4/stat.m4 | 4 +- m4/stddef_h.m4 | 23 +- m4/stdint.m4 | 6 +- m4/stdio_h.m4 | 168 +++--- m4/stdlib_h.m4 | 116 ++-- m4/strdup.m4 | 6 +- m4/string_h.m4 | 124 ++-- m4/sys_file_h.m4 | 29 +- m4/sys_random_h.m4 | 25 +- m4/sys_select_h.m4 | 29 +- m4/sys_socket_h.m4 | 53 +- m4/sys_stat_h.m4 | 65 +- m4/sys_time_h.m4 | 34 +- m4/sys_times_h.m4 | 25 +- m4/sys_types_h.m4 | 16 +- m4/sys_uio_h.m4 | 23 +- m4/threadlib.m4 | 64 +- m4/time_h.m4 | 62 +- m4/time_r.m4 | 2 +- m4/time_rz.m4 | 2 +- m4/timegm.m4 | 4 +- m4/tzset.m4 | 4 +- m4/unistd_h.m4 | 194 +++--- m4/visibility.m4 | 6 +- m4/wchar_h.m4 | 109 ++-- m4/wctype_h.m4 | 39 +- m4/wint_t.m4 | 10 +- m4/year2038.m4 | 124 ++++ maint.mk | 3 +- 302 files changed, 3888 insertions(+), 2843 deletions(-) create mode 100644 m4/year2038.m4 diff --git a/build-aux/announce-gen b/build-aux/announce-gen index 84d2d6378..2d8a2036b 100755 --- a/build-aux/announce-gen +++ b/build-aux/announce-gen @@ -35,12 +35,14 @@ eval 'exec perl -wSx "$0" "$@"' if 0; =20 -my $VERSION =3D '2020-05-10 16:13'; # UTC +my $VERSION =3D '2021-08-03 19:15'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. =20 +my $copyright_year =3D '2021'; + use strict; use Getopt::Long; use POSIX qw(strftime); @@ -49,12 +51,6 @@ use POSIX qw(strftime); =20 my %valid_release_types =3D map {$_ =3D> 1} qw (alpha beta stable); my @archive_suffixes =3D qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz); -my %digest_classes =3D - ( - 'md5' =3D> (eval { require Digest::MD5; } and 'Digest::MD5'), - 'sha1' =3D> ((eval { require Digest::SHA; } and 'Digest::SHA') - or (eval { require Digest::SHA1; } and 'Digest::SHA1')) - ); my $srcdir =3D '.'; =20 sub usage ($) @@ -94,7 +90,7 @@ The following are optional: VERSION is the result of running git descr= ibe in the gnulib source directory. required if gnulib is in TOOL_LIST. - --no-print-checksums do not emit MD5 or SHA1 checksums + --no-print-checksums do not emit SHA1 or SHA256 checksums --archive-suffix=3DSUF add SUF to the list of archive suffixes --mail-headers=3DHEADERS a space-separated list of mail headers, = e.g., To: x\@example.com Cc: y-announce\@example= .com,... @@ -161,7 +157,7 @@ sub print_locations ($\@\%@) =20 =3Ditem C. +Print the SHA1 and SHA256 signature section for each C<@file>. =20 =3Dcut =20 @@ -169,23 +165,18 @@ sub print_checksums (@) { my (@file) =3D @_; =20 - print "Here are the MD5 and SHA1 checksums:\n"; + print "Here are the SHA1 and SHA256 checksums:\n"; print "\n"; =20 - foreach my $meth (qw (md5 sha1)) + use Digest::file qw(digest_file_hex digest_file_base64); + + foreach my $f (@file) { - my $class =3D $digest_classes{$meth} or next; - foreach my $f (@file) - { - open IN, '<', $f - or die "$ME: $f: cannot open for reading: $!\n"; - binmode IN; - my $dig =3D $class->new->addfile(*IN)->hexdigest; - close IN; - print "$dig $f\n"; - } + print digest_file_hex($f, "SHA-1"), " $f\n"; + print digest_file_base64($f, "SHA-256"), " $f\n"; } - print "\n"; + print "\nThe SHA256 checksum is base64 encoded and not hexadecimal,\n"; + print "which is the default for most checksum tools.\n\n"; } =20 =3Ditem C \@archive_suffixes, =20 help =3D> sub { usage 0 }, - version =3D> sub { print "$ME version $VERSION\n"; exit }, + version =3D> + sub + { + print "$ME version $VERSION\n"; + print "Copyright (C) $copyright_year Free Software Foundation, In= c.\n"; + print "License GPLv3+: GNU GPL version 3 or later .\n" + . "This is free software: you are free to change and redistri= bute it.\n" + . "There is NO WARRANTY, to the extent permitted by law.\n"; + print "\n"; + my $author =3D "Jim Meyering"; + print "Written by $author.\n"; + exit + }, ) or usage 1; =20 my $fail =3D 0; diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh index 1872de9d5..1241ee35a 100755 --- a/build-aux/gendocs.sh +++ b/build-aux/gendocs.sh @@ -2,7 +2,7 @@ # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage deta= ils. =20 -scriptversion=3D2021-01-01.00 +scriptversion=3D2021-07-19.18 =20 # Copyright 2003-2021 Free Software Foundation, Inc. # @@ -58,7 +58,7 @@ EMAIL=3Dwebmasters@gnu.org # please override with --email commonarg=3D # passed to all makeinfo/texi2html invcations. dirargs=3D # passed to all tools (-I dir). dirs=3D # -I directories. -htmlarg=3D"--css-ref=3D/software/gnulib/manual.css -c TOP_NODE_UP_URL=3D/m= anual" +htmlarg=3D"--css-ref=3Dhttps://www.gnu.org/software/gnulib/manual.css -c T= OP_NODE_UP_URL=3D/manual" default_htmlarg=3Dtrue infoarg=3D--no-split generate_ascii=3Dtrue @@ -202,7 +202,7 @@ base=3D$PACKAGE =20 if $default_htmlarg && test -n "$use_texi2html"; then # The legacy texi2html doesn't support TOP_NODE_UP_URL - htmlarg=3D"--css-ref=3D/software/gnulib/manual.css" + htmlarg=3D"--css-ref=3Dhttps://www.gnu.org/software/gnulib/manual.css" fi =20 if test -n "$srcfile"; then diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen index be0fc2088..5e42afb2c 100755 --- a/build-aux/git-version-gen +++ b/build-aux/git-version-gen @@ -75,10 +75,10 @@ me=3D$0 year=3D`expr "$scriptversion" : '\([^-]*\)'` version=3D"git-version-gen $scriptversion =20 -Copyright $year Free Software Foundation, Inc. -There is NO warranty. You may redistribute this software -under the terms of the GNU General Public License. -For more information about these matters, see the files named COPYING." +Copyright (C) ${year} Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." =20 usage=3D"\ Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SC= RIPT] diff --git a/build-aux/gnupload b/build-aux/gnupload index 434741d1e..e7822aed7 100755 --- a/build-aux/gnupload +++ b/build-aux/gnupload @@ -1,13 +1,13 @@ #!/bin/sh # Sign files and upload them. =20 -scriptversion=3D2018-05-19.18; # UTC +scriptversion=3D2021-04-11.09; # UTC =20 # Copyright (C) 2004-2021 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) +# the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, @@ -27,8 +27,8 @@ set -e GPG=3Dgpg # Choose the proper version of gpg, so as to avoid a # "gpg-agent is not available in this session" error -# when gpg-agent is version 3 but gpg is still version 1. -# FIXME-2020: remove, once all major distros ship gpg version 3 as /usr/bi= n/gpg +# when gpg-agent is version 2 but gpg is still version 1. +# FIXME-2020: remove, once all major distros ship gpg version 2 as /usr/bi= n/gpg gpg_agent_version=3D`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e = 's/^[^0-9]*//'` case "$gpg_agent_version" in 2.*) @@ -145,6 +145,12 @@ the build-aux/ directory of the gnulib package =20 Send patches and bug reports to ." =20 +copyright_year=3D`echo "$scriptversion" | sed -e 's/[^0-9].*//'` +copyright=3D"Copyright (C) ${copyright_year} Free Software Foundation, Inc. +License GPLv2+: GNU GPL version 2 or later . +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + # Read local configuration file if test -r "$conffile"; then echo "$0: Reading configuration file $conffile" @@ -209,7 +215,8 @@ while test -n "$1"; do ;; --version) echo "gnupload $scriptversion" - exit $? + echo "$copyright" + exit 0 ;; --) shift diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before= -free index 784d80b3e..5bbbc44c5 100755 --- a/build-aux/useless-if-before-free +++ b/build-aux/useless-if-before-free @@ -36,12 +36,14 @@ eval 'exec perl -wSx "$0" "$@"' if 0; =20 -my $VERSION =3D '2020-04-04 15:07'; # UTC +my $VERSION =3D '2021-04-11 10:11'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. =20 +my $copyright_year =3D '2021'; + use strict; use warnings; use Getopt::Long; @@ -118,7 +120,19 @@ sub is_NULL ($) GetOptions ( help =3D> sub { usage 0 }, - version =3D> sub { print "$ME version $VERSION\n"; exit }, + version =3D> + sub + { + print "$ME version $VERSION\n"; + print "Copyright (C) $copyright_year Free Software Foundation, In= c.\n"; + print "License GPLv3+: GNU GPL version 3 or later .\n" + . "This is free software: you are free to change and redistri= bute it.\n" + . "There is NO WARRANTY, to the extent permitted by law.\n"; + print "\n"; + my $author =3D "Jim Meyering"; + print "Written by $author.\n"; + exit + }, list =3D> \$list, 'name=3Ds@' =3D> \@name, ) or usage 1; diff --git a/lib/Makefile.am b/lib/Makefile.am index 02480f6e9..cb29c3136 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -288,8 +288,8 @@ arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.stat= us $(CXXDEFS_H) $(WARN_ON -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ - -e 's/@''GNULIB_INET_NTOP''@/$(GNULIB_INET_NTOP)/g' \ - -e 's/@''GNULIB_INET_PTON''@/$(GNULIB_INET_PTON)/g' \ + -e 's/@''GNULIB_INET_NTOP''@/$(GL_GNULIB_INET_NTOP)/g' \ + -e 's/@''GNULIB_INET_PTON''@/$(GL_GNULIB_INET_PTON)/g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ @@ -470,14 +470,14 @@ dirent.h: dirent.in.h $(top_builddir)/config.status $= (CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ - -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ - -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ - -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ - -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ - -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ - -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ - -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ - -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GL_GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GL_GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GL_GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GL_GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GL_GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GL_GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GL_GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GL_GNULIB_ALPHASORT)/g' \ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ @@ -543,6 +543,32 @@ EXTRA_libgnu_la_SOURCES +=3D duplocale.c ## begin gnulib module dynarray =20 if gl_GNULIB_ENABLED_dynarray +BUILT_SOURCES +=3D malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h + +malloc/dynarray.gl.h: malloc/dynarray.h + $(AM_V_at)$(MKDIR_P) malloc + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e '/libc_hidden_proto/d' < $(srcdir)/malloc/dynarray.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES +=3D malloc/dynarray.gl.h malloc/dynarray.gl.h-t + +malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c + $(AM_V_at)$(MKDIR_P) malloc + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|||g' \ + -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ + -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ + -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + < $(srcdir)/malloc/dynarray-skeleton.c; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES +=3D malloc/dynarray-skeleton.gl.h malloc/dynarray-skelet= on.gl.h-t + libgnu_la_SOURCES +=3D malloc/dynarray_at_failure.c malloc= /dynarray_emplace_enlarge.c malloc/dynarray_finalize.c = malloc/dynarray_resize.c malloc/dynarray_resize= _clear.c =20 endif @@ -620,13 +646,13 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(C= XXDEFS_H) $(ARG_NONNULL_H) -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ - -e 's/@''GNULIB_CREAT''@/$(GNULIB_CREAT)/g' \ - -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ - -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ - -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ - -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ - -e 's/@''GNULIB_MDA_CREAT''@/$(GNULIB_MDA_CREAT)/g' \ - -e 's/@''GNULIB_MDA_OPEN''@/$(GNULIB_MDA_OPEN)/g' \ + -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \ + -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \ + -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \ + -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \ @@ -930,7 +956,7 @@ iconv.h: iconv.in.h $(top_builddir)/config.status $(CXX= DEFS_H) $(ARG_NONNULL_H) -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \ - -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \ + -e 's/@''GNULIB_ICONV''@/$(GL_GNULIB_ICONV)/g' \ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \ @@ -984,10 +1010,8 @@ EXTRA_libgnu_la_SOURCES +=3D iconv.c iconv_close.c ic= onv_open.c =20 ## begin gnulib module idx =20 -if gl_GNULIB_ENABLED_idx libgnu_la_SOURCES +=3D idx.h =20 -endif ## end gnulib module idx =20 ## begin gnulib module inet_ntop @@ -1031,10 +1055,10 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.st= atus $(CXXDEFS_H) $(WARN_ON_U -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ - -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ - -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ - -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ - -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ + -e 's/@''GNULIB_IMAXABS''@/$(GL_GNULIB_IMAXABS)/g' \ + -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ + -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ + -e 's/@''GNULIB_STRTOUMAX''@/$(GL_GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ @@ -1151,7 +1175,7 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.stat= us $(CXXDEFS_H) $(WARN_ON_U -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ - -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ + -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_GNULIB_NL_LANGINFO)/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g'= \ -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \ @@ -1264,11 +1288,11 @@ locale.h: locale.in.h $(top_builddir)/config.status= $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ - -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ - -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ - -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GNULIB_SETLOCALE_NULL)/g' \ - -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ - -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ + -e 's/@''GNULIB_LOCALECONV''@/$(GL_GNULIB_LOCALECONV)/g' \ + -e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \ + -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \ + -e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \ + -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \ -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ @@ -1379,108 +1403,108 @@ math.h: math.in.h $(top_builddir)/config.status $= (CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIV= E_MATH_H)|g' \ - -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \ - -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \ - -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \ - -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \ - -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \ - -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \ - -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \ - -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \ - -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \ - -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \ - -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \ - -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \ - -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \ - -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \ - -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \ - -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \ - -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \ - -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \ - -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \ - -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \ - -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \ - -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \ - -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \ - -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \ - -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \ - -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \ - -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \ - -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \ - -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \ - -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \ - -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \ - -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \ - -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \ - -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \ - -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \ - -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \ - -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \ - -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \ - -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \ - -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \ - -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \ - -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \ - -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \ - -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \ + -e 's/@''GNULIB_ACOSF''@/$(GL_GNULIB_ACOSF)/g' \ + -e 's/@''GNULIB_ACOSL''@/$(GL_GNULIB_ACOSL)/g' \ + -e 's/@''GNULIB_ASINF''@/$(GL_GNULIB_ASINF)/g' \ + -e 's/@''GNULIB_ASINL''@/$(GL_GNULIB_ASINL)/g' \ + -e 's/@''GNULIB_ATANF''@/$(GL_GNULIB_ATANF)/g' \ + -e 's/@''GNULIB_ATANL''@/$(GL_GNULIB_ATANL)/g' \ + -e 's/@''GNULIB_ATAN2F''@/$(GL_GNULIB_ATAN2F)/g' \ + -e 's/@''GNULIB_CBRT''@/$(GL_GNULIB_CBRT)/g' \ + -e 's/@''GNULIB_CBRTF''@/$(GL_GNULIB_CBRTF)/g' \ + -e 's/@''GNULIB_CBRTL''@/$(GL_GNULIB_CBRTL)/g' \ + -e 's/@''GNULIB_CEIL''@/$(GL_GNULIB_CEIL)/g' \ + -e 's/@''GNULIB_CEILF''@/$(GL_GNULIB_CEILF)/g' \ + -e 's/@''GNULIB_CEILL''@/$(GL_GNULIB_CEILL)/g' \ + -e 's/@''GNULIB_COPYSIGN''@/$(GL_GNULIB_COPYSIGN)/g' \ + -e 's/@''GNULIB_COPYSIGNF''@/$(GL_GNULIB_COPYSIGNF)/g' \ + -e 's/@''GNULIB_COPYSIGNL''@/$(GL_GNULIB_COPYSIGNL)/g' \ + -e 's/@''GNULIB_COSF''@/$(GL_GNULIB_COSF)/g' \ + -e 's/@''GNULIB_COSL''@/$(GL_GNULIB_COSL)/g' \ + -e 's/@''GNULIB_COSHF''@/$(GL_GNULIB_COSHF)/g' \ + -e 's/@''GNULIB_EXPF''@/$(GL_GNULIB_EXPF)/g' \ + -e 's/@''GNULIB_EXPL''@/$(GL_GNULIB_EXPL)/g' \ + -e 's/@''GNULIB_EXP2''@/$(GL_GNULIB_EXP2)/g' \ + -e 's/@''GNULIB_EXP2F''@/$(GL_GNULIB_EXP2F)/g' \ + -e 's/@''GNULIB_EXP2L''@/$(GL_GNULIB_EXP2L)/g' \ + -e 's/@''GNULIB_EXPM1''@/$(GL_GNULIB_EXPM1)/g' \ + -e 's/@''GNULIB_EXPM1F''@/$(GL_GNULIB_EXPM1F)/g' \ + -e 's/@''GNULIB_EXPM1L''@/$(GL_GNULIB_EXPM1L)/g' \ + -e 's/@''GNULIB_FABSF''@/$(GL_GNULIB_FABSF)/g' \ + -e 's/@''GNULIB_FABSL''@/$(GL_GNULIB_FABSL)/g' \ + -e 's/@''GNULIB_FLOOR''@/$(GL_GNULIB_FLOOR)/g' \ + -e 's/@''GNULIB_FLOORF''@/$(GL_GNULIB_FLOORF)/g' \ + -e 's/@''GNULIB_FLOORL''@/$(GL_GNULIB_FLOORL)/g' \ + -e 's/@''GNULIB_FMA''@/$(GL_GNULIB_FMA)/g' \ + -e 's/@''GNULIB_FMAF''@/$(GL_GNULIB_FMAF)/g' \ + -e 's/@''GNULIB_FMAL''@/$(GL_GNULIB_FMAL)/g' \ + -e 's/@''GNULIB_FMOD''@/$(GL_GNULIB_FMOD)/g' \ + -e 's/@''GNULIB_FMODF''@/$(GL_GNULIB_FMODF)/g' \ + -e 's/@''GNULIB_FMODL''@/$(GL_GNULIB_FMODL)/g' \ + -e 's/@''GNULIB_FREXPF''@/$(GL_GNULIB_FREXPF)/g' \ + -e 's/@''GNULIB_FREXP''@/$(GL_GNULIB_FREXP)/g' \ + -e 's/@''GNULIB_FREXPL''@/$(GL_GNULIB_FREXPL)/g' \ + -e 's/@''GNULIB_HYPOT''@/$(GL_GNULIB_HYPOT)/g' \ + -e 's/@''GNULIB_HYPOTF''@/$(GL_GNULIB_HYPOTF)/g' \ + -e 's/@''GNULIB_HYPOTL''@/$(GL_GNULIB_HYPOTL)/g' \ < $(srcdir)/math.in.h | \ - sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \ - -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \ - -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \ - -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \ - -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \ - -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \ - -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \ - -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \ - -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \ - -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \ - -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \ - -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \ - -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \ - -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \ - -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \ - -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \ - -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \ - -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \ - -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \ - -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \ - -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \ - -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \ - -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \ - -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \ - -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \ - -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \ - -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \ - -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \ - -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \ - -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \ - -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \ - -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \ - -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \ - -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \ - -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \ - -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \ - -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \ - -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \ - -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \ - -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \ - -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \ - -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \ - -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \ - -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \ - -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \ - -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \ - -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \ - -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \ - -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \ - -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \ - -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \ - -e 's/@''GNULIB_MDA_J0''@/$(GNULIB_MDA_J0)/g' \ - -e 's/@''GNULIB_MDA_J1''@/$(GNULIB_MDA_J1)/g' \ - -e 's/@''GNULIB_MDA_JN''@/$(GNULIB_MDA_JN)/g' \ - -e 's/@''GNULIB_MDA_Y0''@/$(GNULIB_MDA_Y0)/g' \ - -e 's/@''GNULIB_MDA_Y1''@/$(GNULIB_MDA_Y1)/g' \ - -e 's/@''GNULIB_MDA_YN''@/$(GNULIB_MDA_YN)/g' \ + sed -e 's/@''GNULIB_ILOGB''@/$(GL_GNULIB_ILOGB)/g' \ + -e 's/@''GNULIB_ILOGBF''@/$(GL_GNULIB_ILOGBF)/g' \ + -e 's/@''GNULIB_ILOGBL''@/$(GL_GNULIB_ILOGBL)/g' \ + -e 's/@''GNULIB_ISFINITE''@/$(GL_GNULIB_ISFINITE)/g' \ + -e 's/@''GNULIB_ISINF''@/$(GL_GNULIB_ISINF)/g' \ + -e 's/@''GNULIB_ISNAN''@/$(GL_GNULIB_ISNAN)/g' \ + -e 's/@''GNULIB_ISNANF''@/$(GL_GNULIB_ISNANF)/g' \ + -e 's/@''GNULIB_ISNAND''@/$(GL_GNULIB_ISNAND)/g' \ + -e 's/@''GNULIB_ISNANL''@/$(GL_GNULIB_ISNANL)/g' \ + -e 's/@''GNULIB_LDEXPF''@/$(GL_GNULIB_LDEXPF)/g' \ + -e 's/@''GNULIB_LDEXPL''@/$(GL_GNULIB_LDEXPL)/g' \ + -e 's/@''GNULIB_LOG''@/$(GL_GNULIB_LOG)/g' \ + -e 's/@''GNULIB_LOGF''@/$(GL_GNULIB_LOGF)/g' \ + -e 's/@''GNULIB_LOGL''@/$(GL_GNULIB_LOGL)/g' \ + -e 's/@''GNULIB_LOG10''@/$(GL_GNULIB_LOG10)/g' \ + -e 's/@''GNULIB_LOG10F''@/$(GL_GNULIB_LOG10F)/g' \ + -e 's/@''GNULIB_LOG10L''@/$(GL_GNULIB_LOG10L)/g' \ + -e 's/@''GNULIB_LOG1P''@/$(GL_GNULIB_LOG1P)/g' \ + -e 's/@''GNULIB_LOG1PF''@/$(GL_GNULIB_LOG1PF)/g' \ + -e 's/@''GNULIB_LOG1PL''@/$(GL_GNULIB_LOG1PL)/g' \ + -e 's/@''GNULIB_LOG2''@/$(GL_GNULIB_LOG2)/g' \ + -e 's/@''GNULIB_LOG2F''@/$(GL_GNULIB_LOG2F)/g' \ + -e 's/@''GNULIB_LOG2L''@/$(GL_GNULIB_LOG2L)/g' \ + -e 's/@''GNULIB_LOGB''@/$(GL_GNULIB_LOGB)/g' \ + -e 's/@''GNULIB_LOGBF''@/$(GL_GNULIB_LOGBF)/g' \ + -e 's/@''GNULIB_LOGBL''@/$(GL_GNULIB_LOGBL)/g' \ + -e 's/@''GNULIB_MODF''@/$(GL_GNULIB_MODF)/g' \ + -e 's/@''GNULIB_MODFF''@/$(GL_GNULIB_MODFF)/g' \ + -e 's/@''GNULIB_MODFL''@/$(GL_GNULIB_MODFL)/g' \ + -e 's/@''GNULIB_POWF''@/$(GL_GNULIB_POWF)/g' \ + -e 's/@''GNULIB_REMAINDER''@/$(GL_GNULIB_REMAINDER)/g' \ + -e 's/@''GNULIB_REMAINDERF''@/$(GL_GNULIB_REMAINDERF)/g' \ + -e 's/@''GNULIB_REMAINDERL''@/$(GL_GNULIB_REMAINDERL)/g' \ + -e 's/@''GNULIB_RINT''@/$(GL_GNULIB_RINT)/g' \ + -e 's/@''GNULIB_RINTF''@/$(GL_GNULIB_RINTF)/g' \ + -e 's/@''GNULIB_RINTL''@/$(GL_GNULIB_RINTL)/g' \ + -e 's/@''GNULIB_ROUND''@/$(GL_GNULIB_ROUND)/g' \ + -e 's/@''GNULIB_ROUNDF''@/$(GL_GNULIB_ROUNDF)/g' \ + -e 's/@''GNULIB_ROUNDL''@/$(GL_GNULIB_ROUNDL)/g' \ + -e 's/@''GNULIB_SIGNBIT''@/$(GL_GNULIB_SIGNBIT)/g' \ + -e 's/@''GNULIB_SINF''@/$(GL_GNULIB_SINF)/g' \ + -e 's/@''GNULIB_SINL''@/$(GL_GNULIB_SINL)/g' \ + -e 's/@''GNULIB_SINHF''@/$(GL_GNULIB_SINHF)/g' \ + -e 's/@''GNULIB_SQRTF''@/$(GL_GNULIB_SQRTF)/g' \ + -e 's/@''GNULIB_SQRTL''@/$(GL_GNULIB_SQRTL)/g' \ + -e 's/@''GNULIB_TANF''@/$(GL_GNULIB_TANF)/g' \ + -e 's/@''GNULIB_TANL''@/$(GL_GNULIB_TANL)/g' \ + -e 's/@''GNULIB_TANHF''@/$(GL_GNULIB_TANHF)/g' \ + -e 's/@''GNULIB_TRUNC''@/$(GL_GNULIB_TRUNC)/g' \ + -e 's/@''GNULIB_TRUNCF''@/$(GL_GNULIB_TRUNCF)/g' \ + -e 's/@''GNULIB_TRUNCL''@/$(GL_GNULIB_TRUNCL)/g' \ + -e 's/@''GNULIB_MDA_J0''@/$(GL_GNULIB_MDA_J0)/g' \ + -e 's/@''GNULIB_MDA_J1''@/$(GL_GNULIB_MDA_J1)/g' \ + -e 's/@''GNULIB_MDA_JN''@/$(GL_GNULIB_MDA_JN)/g' \ + -e 's/@''GNULIB_MDA_Y0''@/$(GL_GNULIB_MDA_Y0)/g' \ + -e 's/@''GNULIB_MDA_Y1''@/$(GL_GNULIB_MDA_Y1)/g' \ + -e 's/@''GNULIB_MDA_YN''@/$(GL_GNULIB_MDA_YN)/g' \ | \ sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \ -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \ @@ -1804,7 +1828,7 @@ netdb.h: netdb.in.h $(top_builddir)/config.status $(C= XXDEFS_H) $(ARG_NONNULL_H) -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_NETDB_H''@|$(NEXT_NETDB_H)|g' \ -e 's|@''HAVE_NETDB_H''@|$(HAVE_NETDB_H)|g' \ - -e 's/@''GNULIB_GETADDRINFO''@/$(GNULIB_GETADDRINFO)/g' \ + -e 's/@''GNULIB_GETADDRINFO''@/$(GL_GNULIB_GETADDRINFO)/g' \ -e 's|@''HAVE_STRUCT_ADDRINFO''@|$(HAVE_STRUCT_ADDRINFO)|g' \ -e 's|@''HAVE_DECL_FREEADDRINFO''@|$(HAVE_DECL_FREEADDRINFO)|g' \ -e 's|@''HAVE_DECL_GAI_STRERROR''@|$(HAVE_DECL_GAI_STRERROR)|g' \ @@ -1937,7 +1961,7 @@ poll.h: poll.in.h $(top_builddir)/config.status $(CXX= DEFS_H) $(WARN_ON_USE_H) -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_POLL_H''@|$(NEXT_POLL_H)|g' \ - -e 's/@''GNULIB_POLL''@/$(GNULIB_POLL)/g' \ + -e 's/@''GNULIB_POLL''@/$(GL_GNULIB_POLL)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_POLL''@|$(HAVE_POLL)|g' \ -e 's|@''REPLACE_POLL''@|$(REPLACE_POLL)|g' \ @@ -2098,6 +2122,21 @@ EXTRA_DIST +=3D same-inode.h ## begin gnulib module scratch_buffer =20 if gl_GNULIB_ENABLED_scratch_buffer +BUILT_SOURCES +=3D malloc/scratch_buffer.gl.h + +malloc/scratch_buffer.gl.h: malloc/scratch_buffer.h + $(AM_V_at)$(MKDIR_P) malloc + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \ + -e 's|__glibc_likely|_GL_LIKELY|g' \ + -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ + -e '/libc_hidden_proto/d' \ + < $(srcdir)/malloc/scratch_buffer.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES +=3D malloc/scratch_buffer.gl.h malloc/scratch_buffer.gl.= h-t + libgnu_la_SOURCES +=3D malloc/scratch_buffer_dupfree.c mal= loc/scratch_buffer_grow.c malloc/scratch_buffer_grow_preser= ve.c malloc/scratch_buffer_set_array_size.c =20 endif @@ -2185,11 +2224,11 @@ signal.h: signal.in.h $(top_builddir)/config.status= $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \ - -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GNULIB_PTHREAD_SIGMASK)/g' \ - -e 's/@''GNULIB_RAISE''@/$(GNULIB_RAISE)/g' \ - -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \ - -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \ + -e 's/@''GNULIB_PTHREAD_SIGMASK''@/$(GL_GNULIB_PTHREAD_SIGMASK)/g' \ + -e 's/@''GNULIB_RAISE''@/$(GL_GNULIB_RAISE)/g' \ + -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GL_GNULIB_SIGNAL_H_SIGPIPE)/g= ' \ + -e 's/@''GNULIB_SIGPROCMASK''@/$(GL_GNULIB_SIGPROCMASK)/g' \ + -e 's/@''GNULIB_SIGACTION''@/$(GL_GNULIB_SIGACTION)/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|= g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \ -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \ @@ -2442,7 +2481,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_= WINT_T)/g' \ < $(srcdir)/stdint.in.h; \ } > $@-t && \ mv $@-t $@ @@ -2470,65 +2509,65 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $= (CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ - -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ - -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ - -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ - -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ - -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ - -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ - -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ - -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ - -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ - -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ - -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ - -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ - -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ - -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ - -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ - -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ - -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ - -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ - -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ - -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ - -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ - -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ - -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ - -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POS= IX)/g' \ - -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ - -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ - -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ - -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ - -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ - -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ - -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ - -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ - -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ - -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ - -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ - -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ - -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ - -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING= )/g' \ - -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ - -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ - -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ - -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ - -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ - -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ - -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ - -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ - -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ - -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GNULIB_MDA_FCLOSEALL)/g' \ - -e 's/@''GNULIB_MDA_FDOPEN''@/$(GNULIB_MDA_FDOPEN)/g' \ - -e 's/@''GNULIB_MDA_FILENO''@/$(GNULIB_MDA_FILENO)/g' \ - -e 's/@''GNULIB_MDA_GETW''@/$(GNULIB_MDA_GETW)/g' \ - -e 's/@''GNULIB_MDA_PUTW''@/$(GNULIB_MDA_PUTW)/g' \ - -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GNULIB_MDA_TEMPNAM)/g' \ + -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \ + -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \ + -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \ + -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \ + -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ + -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ + -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ + -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ + -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ + -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \ + -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \ + -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \ + -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \ + -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \ + -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \ + -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \ + -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \ + -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \ + -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \ + -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \ + -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \ + -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \ + -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \ + -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_= POSIX)/g' \ + -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \ + -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \ + -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \ + -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \ + -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \ + -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \ + -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \ + -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \ + -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \ + -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \ + -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \ + -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \ + -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \ + -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCK= ING)/g' \ + -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \ + -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \ + -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \ + -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \ + -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \ + -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \ + -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \ + -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \ + -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \ + -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \ + -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \ + -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \ + -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ + -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ + -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ < $(srcdir)/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ @@ -2606,51 +2645,51 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status= $(CXXDEFS_H) \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ - -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ - -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GNULIB_ALIGNED_ALLOC)/g' \ - -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ - -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ - -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FIL= E_NAME)/g' \ - -e 's/@''GNULIB_FREE_POSIX''@/$(GNULIB_FREE_POSIX)/g' \ - -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ - -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ - -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ - -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ - -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ - -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ - -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ - -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ - -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ - -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ - -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GNULIB_POSIX_MEMALIGN)/g' \ - -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ - -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ - -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ - -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ - -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ - -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ - -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ - -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ - -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ - -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ - -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ - -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ - -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ - -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ - -e 's/@''GNULIB_STRTOL''@/$(GNULIB_STRTOL)/g' \ - -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ - -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ - -e 's/@''GNULIB_STRTOUL''@/$(GNULIB_STRTOUL)/g' \ - -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ - -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ - -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ - -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ - -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ - -e 's/@''GNULIB_MDA_ECVT''@/$(GNULIB_MDA_ECVT)/g' \ - -e 's/@''GNULIB_MDA_FCVT''@/$(GNULIB_MDA_FCVT)/g' \ - -e 's/@''GNULIB_MDA_GCVT''@/$(GNULIB_MDA_GCVT)/g' \ - -e 's/@''GNULIB_MDA_MKTEMP''@/$(GNULIB_MDA_MKTEMP)/g' \ - -e 's/@''GNULIB_MDA_PUTENV''@/$(GNULIB_MDA_PUTENV)/g' \ + -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ + -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ + -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ + -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ + -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_= FILE_NAME)/g' \ + -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ + -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ + -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ + -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ + -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ + -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \ + -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \ + -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \ + -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \ + -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \ + -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \ + -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ + -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ + -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ + -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ + -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ + -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ + -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ + -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ + -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \ + -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \ + -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \ + -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \ + -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \ + -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \ + -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \ + -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \ + -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \ + -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \ + -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \ + -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \ + -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \ + -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ + -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ + -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ < $(srcdir)/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ @@ -2711,6 +2750,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $= (CXXDEFS_H) \ -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ + -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ @@ -2779,49 +2819,49 @@ string.h: string.in.h $(top_builddir)/config.status= $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ - -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \ - -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ - -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ - -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ - -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ - -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ - -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ - -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ - -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ - -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ - -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ - -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ - -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ - -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ - -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ - -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ - -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ - -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ - -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ - -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ - -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ - -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ - -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ - -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ - -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ - -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ - -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ - -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ - -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ - -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ - -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ - -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ - -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ - -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ - -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ - -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ - -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GNULIB_STRERRORNAME_NP)/g' \ - -e 's/@''GNULIB_SIGABBREV_NP''@/$(GNULIB_SIGABBREV_NP)/g' \ - -e 's/@''GNULIB_SIGDESCR_NP''@/$(GNULIB_SIGDESCR_NP)/g' \ - -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ - -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ - -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GNULIB_MDA_MEMCCPY)/g' \ - -e 's/@''GNULIB_MDA_STRDUP''@/$(GNULIB_MDA_STRDUP)/g' \ + -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \ + -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \ + -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \ + -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \ + -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \ + -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \ + -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \ + -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \ + -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \ + -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \ + -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \ + -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \ + -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \ + -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \ + -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \ + -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ + -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ + -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ + -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ + -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ + -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \ + -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \ + -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \ + -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \ + -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \ + -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \ + -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \ + -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \ + -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \ + -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \ + -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ + -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ < $(srcdir)/string.in.h | \ sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ @@ -2893,7 +2933,7 @@ sys/file.h: sys_file.in.h $(top_builddir)/config.stat= us $(WARN_ON_USE_H) -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_FILE_H''@|$(NEXT_SYS_FILE_H)|g' \ -e 's/@''HAVE_FLOCK''@/$(HAVE_FLOCK)/g' \ - -e 's/@''GNULIB_FLOCK''@/$(GNULIB_FLOCK)/g' \ + -e 's/@''GNULIB_FLOCK''@/$(GL_GNULIB_FLOCK)/g' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ < $(srcdir)/sys_file.in.h; \ } > $@-t && \ @@ -2922,7 +2962,7 @@ sys/random.h: sys_random.in.h $(top_builddir)/config.= status $(CXXDEFS_H) $(ARG_N -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_RANDOM_H''@|$(NEXT_SYS_RANDOM_H)|g' \ -e 's|@''HAVE_SYS_RANDOM_H''@|$(HAVE_SYS_RANDOM_H)|g' \ - -e 's/@''GNULIB_GETRANDOM''@/$(GNULIB_GETRANDOM)/g' \ + -e 's/@''GNULIB_GETRANDOM''@/$(GL_GNULIB_GETRANDOM)/g' \ -e 's/@''HAVE_GETRANDOM''@/$(HAVE_GETRANDOM)/g' \ -e 's/@''REPLACE_GETRANDOM''@/$(REPLACE_GETRANDOM)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ @@ -2955,8 +2995,8 @@ sys/select.h: sys_select.in.h $(top_builddir)/config.= status $(CXXDEFS_H) $(WARN_ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_SELECT_H''@|$(NEXT_SYS_SELECT_H)|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|$(HAVE_SYS_SELECT_H)|g' \ - -e 's/@''GNULIB_PSELECT''@/$(GNULIB_PSELECT)/g' \ - -e 's/@''GNULIB_SELECT''@/$(GNULIB_SELECT)/g' \ + -e 's/@''GNULIB_PSELECT''@/$(GL_GNULIB_PSELECT)/g' \ + -e 's/@''GNULIB_SELECT''@/$(GL_GNULIB_SELECT)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_PSELECT''@|$(HAVE_PSELECT)|g' \ -e 's|@''REPLACE_PSELECT''@|$(REPLACE_PSELECT)|g' \ @@ -2990,22 +3030,22 @@ sys/socket.h: sys_socket.in.h $(top_builddir)/confi= g.status $(CXXDEFS_H) $(WARN_ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ - -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ - -e 's/@''GNULIB_SOCKET''@/$(GNULIB_SOCKET)/g' \ - -e 's/@''GNULIB_CONNECT''@/$(GNULIB_CONNECT)/g' \ - -e 's/@''GNULIB_ACCEPT''@/$(GNULIB_ACCEPT)/g' \ - -e 's/@''GNULIB_BIND''@/$(GNULIB_BIND)/g' \ - -e 's/@''GNULIB_GETPEERNAME''@/$(GNULIB_GETPEERNAME)/g' \ - -e 's/@''GNULIB_GETSOCKNAME''@/$(GNULIB_GETSOCKNAME)/g' \ - -e 's/@''GNULIB_GETSOCKOPT''@/$(GNULIB_GETSOCKOPT)/g' \ - -e 's/@''GNULIB_LISTEN''@/$(GNULIB_LISTEN)/g' \ - -e 's/@''GNULIB_RECV''@/$(GNULIB_RECV)/g' \ - -e 's/@''GNULIB_SEND''@/$(GNULIB_SEND)/g' \ - -e 's/@''GNULIB_RECVFROM''@/$(GNULIB_RECVFROM)/g' \ - -e 's/@''GNULIB_SENDTO''@/$(GNULIB_SENDTO)/g' \ - -e 's/@''GNULIB_SETSOCKOPT''@/$(GNULIB_SETSOCKOPT)/g' \ - -e 's/@''GNULIB_SHUTDOWN''@/$(GNULIB_SHUTDOWN)/g' \ - -e 's/@''GNULIB_ACCEPT4''@/$(GNULIB_ACCEPT4)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_SOCKET''@/$(GL_GNULIB_SOCKET)/g' \ + -e 's/@''GNULIB_CONNECT''@/$(GL_GNULIB_CONNECT)/g' \ + -e 's/@''GNULIB_ACCEPT''@/$(GL_GNULIB_ACCEPT)/g' \ + -e 's/@''GNULIB_BIND''@/$(GL_GNULIB_BIND)/g' \ + -e 's/@''GNULIB_GETPEERNAME''@/$(GL_GNULIB_GETPEERNAME)/g' \ + -e 's/@''GNULIB_GETSOCKNAME''@/$(GL_GNULIB_GETSOCKNAME)/g' \ + -e 's/@''GNULIB_GETSOCKOPT''@/$(GL_GNULIB_GETSOCKOPT)/g' \ + -e 's/@''GNULIB_LISTEN''@/$(GL_GNULIB_LISTEN)/g' \ + -e 's/@''GNULIB_RECV''@/$(GL_GNULIB_RECV)/g' \ + -e 's/@''GNULIB_SEND''@/$(GL_GNULIB_SEND)/g' \ + -e 's/@''GNULIB_RECVFROM''@/$(GL_GNULIB_RECVFROM)/g' \ + -e 's/@''GNULIB_SENDTO''@/$(GL_GNULIB_SENDTO)/g' \ + -e 's/@''GNULIB_SETSOCKOPT''@/$(GL_GNULIB_SETSOCKOPT)/g' \ + -e 's/@''GNULIB_SHUTDOWN''@/$(GL_GNULIB_SHUTDOWN)/g' \ + -e 's/@''GNULIB_ACCEPT4''@/$(GL_GNULIB_ACCEPT4)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STO= RAGE)|g' \ @@ -3042,25 +3082,25 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.st= atus $(CXXDEFS_H) $(ARG_NONNU -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ - -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ - -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ - -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ - -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ - -e 's/@''GNULIB_GETUMASK''@/$(GNULIB_GETUMASK)/g' \ - -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ - -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ - -e 's/@''GNULIB_MKDIR''@/$(GNULIB_MKDIR)/g' \ - -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ - -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ - -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ - -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ - -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ - -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ - -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ - -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_= STAT)/g' \ - -e 's/@''GNULIB_MDA_CHMOD''@/$(GNULIB_MDA_CHMOD)/g' \ - -e 's/@''GNULIB_MDA_MKDIR''@/$(GNULIB_MDA_MKDIR)/g' \ - -e 's/@''GNULIB_MDA_UMASK''@/$(GNULIB_MDA_UMASK)/g' \ + -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ + -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ + -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ + -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \ + -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \ + -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \ + -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \ + -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \ + -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \ + -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \ + -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \ + -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \ + -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \ + -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \ + -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \ + -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRU= CT_STAT)/g' \ + -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \ + -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \ + -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ @@ -3114,7 +3154,7 @@ sys/time.h: sys_time.in.h $(top_builddir)/config.stat= us $(CXXDEFS_H) $(ARG_NONNU -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ - -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \ + -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GL_GNULIB_GETTIMEOFDAY)/g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ @@ -3148,7 +3188,7 @@ sys/times.h: sys_times.in.h $(top_builddir)/config.st= atus $(WARN_ON_USE_H) $(ARG -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_SYS_TIMES_H''@|$(NEXT_SYS_TIMES_H)|g' \ - -e 's/@''GNULIB_TIMES''@/$(GNULIB_TIMES)/g' \ + -e 's/@''GNULIB_TIMES''@/$(GL_GNULIB_TIMES)/g' \ -e 's|@''HAVE_STRUCT_TMS''@|$(HAVE_STRUCT_TMS)|g' \ -e 's|@''HAVE_TIMES''@|$(HAVE_TIMES)|g' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ @@ -3239,18 +3279,18 @@ time.h: time.in.h $(top_builddir)/config.status $(C= XXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ - -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \ - -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ - -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ - -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ - -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \ - -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ - -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ - -e 's/@''GNULIB_TIMESPEC_GET''@/$(GNULIB_TIMESPEC_GET)/g' \ - -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ - -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ - -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \ - -e 's/@''GNULIB_MDA_TZSET''@/$(GNULIB_MDA_TZSET)/g' \ + -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \ + -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \ + -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \ + -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ + -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ + -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ + -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ + -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ + -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ + -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ + -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ @@ -3360,89 +3400,89 @@ unistd.h: unistd.in.h $(top_builddir)/config.status= $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ - -e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \ - -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ - -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ - -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ - -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ - -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ - -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ - -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ - -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ - -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ - -e 's/@''GNULIB_EXECL''@/$(GNULIB_EXECL)/g' \ - -e 's/@''GNULIB_EXECLE''@/$(GNULIB_EXECLE)/g' \ - -e 's/@''GNULIB_EXECLP''@/$(GNULIB_EXECLP)/g' \ - -e 's/@''GNULIB_EXECV''@/$(GNULIB_EXECV)/g' \ - -e 's/@''GNULIB_EXECVE''@/$(GNULIB_EXECVE)/g' \ - -e 's/@''GNULIB_EXECVP''@/$(GNULIB_EXECVP)/g' \ - -e 's/@''GNULIB_EXECVPE''@/$(GNULIB_EXECVPE)/g' \ - -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ - -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ - -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ - -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ - -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ - -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ - -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ - -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ - -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ - -e 's/@''GNULIB_GETENTROPY''@/$(GNULIB_GETENTROPY)/g' \ - -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ - -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ - -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ - -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ - -e 's/@''GNULIB_GETOPT_POSIX''@/$(GNULIB_GETOPT_POSIX)/g' \ - -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ - -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \ - -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ - -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ - -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ - -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ - -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ - -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ - -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ - -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ - -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ - -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ - -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ - -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ - -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ - -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ - -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ - -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ - -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ - -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ - -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ - -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \ - -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ - -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g'= \ - -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKI= NG)/g' \ - -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ - -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ - -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ - -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ - -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ - -e 's/@''GNULIB_MDA_ACCESS''@/$(GNULIB_MDA_ACCESS)/g' \ - -e 's/@''GNULIB_MDA_CHDIR''@/$(GNULIB_MDA_CHDIR)/g' \ - -e 's/@''GNULIB_MDA_CLOSE''@/$(GNULIB_MDA_CLOSE)/g' \ - -e 's/@''GNULIB_MDA_DUP''@/$(GNULIB_MDA_DUP)/g' \ - -e 's/@''GNULIB_MDA_DUP2''@/$(GNULIB_MDA_DUP2)/g' \ - -e 's/@''GNULIB_MDA_EXECL''@/$(GNULIB_MDA_EXECL)/g' \ - -e 's/@''GNULIB_MDA_EXECLE''@/$(GNULIB_MDA_EXECLE)/g' \ - -e 's/@''GNULIB_MDA_EXECLP''@/$(GNULIB_MDA_EXECLP)/g' \ - -e 's/@''GNULIB_MDA_EXECV''@/$(GNULIB_MDA_EXECV)/g' \ - -e 's/@''GNULIB_MDA_EXECVE''@/$(GNULIB_MDA_EXECVE)/g' \ - -e 's/@''GNULIB_MDA_EXECVP''@/$(GNULIB_MDA_EXECVP)/g' \ - -e 's/@''GNULIB_MDA_EXECVPE''@/$(GNULIB_MDA_EXECVPE)/g' \ - -e 's/@''GNULIB_MDA_GETCWD''@/$(GNULIB_MDA_GETCWD)/g' \ - -e 's/@''GNULIB_MDA_GETPID''@/$(GNULIB_MDA_GETPID)/g' \ - -e 's/@''GNULIB_MDA_ISATTY''@/$(GNULIB_MDA_ISATTY)/g' \ - -e 's/@''GNULIB_MDA_LSEEK''@/$(GNULIB_MDA_LSEEK)/g' \ - -e 's/@''GNULIB_MDA_READ''@/$(GNULIB_MDA_READ)/g' \ - -e 's/@''GNULIB_MDA_RMDIR''@/$(GNULIB_MDA_RMDIR)/g' \ - -e 's/@''GNULIB_MDA_SWAB''@/$(GNULIB_MDA_SWAB)/g' \ - -e 's/@''GNULIB_MDA_UNLINK''@/$(GNULIB_MDA_UNLINK)/g' \ - -e 's/@''GNULIB_MDA_WRITE''@/$(GNULIB_MDA_WRITE)/g' \ + -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \ + -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \ + -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \ + -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \ + -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \ + -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \ + -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \ + -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \ + -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \ + -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \ + -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \ + -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \ + -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \ + -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \ + -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \ + -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \ + -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \ + -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \ + -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \ + -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ + -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ + -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ + -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ + -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ + -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ + -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \ + -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \ + -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \ + -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \ + -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \ + -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ + -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ + -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ + -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ + -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ + -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ + -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \ + -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \ + -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \ + -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \ + -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \ + -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \ + -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \ + -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \ + -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \ + -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \ + -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \ + -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \ + -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \ + -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \ + -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \ + -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \ + -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \ + -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \ + -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g'= \ + -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLO= CKING)/g' \ + -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g= ' \ + -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \ + -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \ + -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \ + -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \ + -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \ + -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \ + -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \ + -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \ + -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \ + -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \ + -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \ + -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \ + -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \ + -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \ + -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \ + -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \ + -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \ + -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \ + -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \ + -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \ + -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \ + -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \ + -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ + -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ + -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ @@ -3617,49 +3657,49 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $= (CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ - -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ - -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ - -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ - -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ - -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ - -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ - -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ - -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ - -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ - -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ - -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ - -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ - -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ - -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ - -e 's/@''GNULIB_WMEMPCPY''@/$(GNULIB_WMEMPCPY)/g' \ - -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ - -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ - -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ - -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ - -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ - -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ - -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ - -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ - -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ - -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ - -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ - -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ - -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ - -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ - -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ - -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ - -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ - -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ - -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ - -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ - -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ - -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ - -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ - -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ - -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \ - -e 's/@''GNULIB_MDA_WCSDUP''@/$(GNULIB_MDA_WCSDUP)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_= WINT_T)/g' \ + -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ + -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ + -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ + -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ + -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ + -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ + -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ + -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ + -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ + -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ + -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ + -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ + -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ + -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ + -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ + -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ + -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ + -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ + -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ + -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ + -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ + -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ + -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ + -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ + -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ + -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ + -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ + -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ + -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ + -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ + -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ + -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ + -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ + -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ + -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ + -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ + -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ + -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ + -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ + -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ < $(srcdir)/wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ @@ -3760,14 +3800,14 @@ wctype.h: wctype.in.h $(top_builddir)/config.status= $(CXXDEFS_H) $(WARN_ON_USE_H -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ - -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ - -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ - -e 's/@''GNULIB_ISWDIGIT''@/$(GNULIB_ISWDIGIT)/g' \ - -e 's/@''GNULIB_ISWXDIGIT''@/$(GNULIB_ISWXDIGIT)/g' \ - -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ - -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ - -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ - -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ + -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_= WINT_T)/g' \ + -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ + -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ + -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ + -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ + -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ + -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \ + -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ diff --git a/lib/accept.c b/lib/accept.c index 4ec4f43ea..71457dbf6 100644 --- a/lib/accept.c +++ b/lib/accept.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/accept4.c b/lib/accept4.c index b444e2227..4c2b80e50 100644 --- a/lib/accept4.c +++ b/lib/accept4.c @@ -1,18 +1,18 @@ /* Accept a connection on a socket, with specific opening flags. Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/alignof.h b/lib/alignof.h index 6977c3ed2..e6e7a51b2 100644 --- a/lib/alignof.h +++ b/lib/alignof.h @@ -1,18 +1,18 @@ /* Determine alignment of types. Copyright (C) 2003-2004, 2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _ALIGNOF_H #define _ALIGNOF_H diff --git a/lib/alloca.c b/lib/alloca.c index 91b9ec389..48802832a 100644 --- a/lib/alloca.c +++ b/lib/alloca.c @@ -1,5 +1,7 @@ /* alloca.c -- allocate automatically reclaimed memory - (Mostly) portable public-domain implementation -- D A Gwyn + This file is in the public domain. */ + +/* (Mostly) portable implementation -- D A Gwyn =20 This implementation of the PWB library alloca function, which is used to allocate space off the run-time stack so diff --git a/lib/alloca.in.h b/lib/alloca.in.h index 9c7ccbb64..65c2d4d93 100644 --- a/lib/alloca.in.h +++ b/lib/alloca.in.h @@ -3,20 +3,18 @@ Copyright (C) 1995, 1999, 2001-2004, 2006-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public - License along with this program; if not, see - . - */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H means there is a real alloca function. */ diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h index 0ac83ab91..9968067aa 100644 --- a/lib/arpa_inet.in.h +++ b/lib/arpa_inet.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _@GUARD_PREFIX@_ARPA_INET_H =20 diff --git a/lib/asnprintf.c b/lib/asnprintf.c index 420440a29..c5367b281 100644 --- a/lib/asnprintf.c +++ b/lib/asnprintf.c @@ -1,18 +1,18 @@ /* Formatted output to strings. Copyright (C) 1999, 2002, 2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/assure.h b/lib/assure.h index d95c0c94f..49aa82fec 100644 --- a/lib/assure.h +++ b/lib/assure.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2014-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/attribute.h b/lib/attribute.h index 27a0fce5f..80a23f550 100644 --- a/lib/attribute.h +++ b/lib/attribute.h @@ -2,15 +2,15 @@ =20 Copyright 2020-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . = */ @@ -32,7 +32,7 @@ =20 =20 /* This file defines two types of attributes: - * C2X standard attributes. These have macro names that do not begin wi= th + * C2x standard attributes. These have macro names that do not begin wi= th 'ATTRIBUTE_'. * Selected GCC attributes; see: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html diff --git a/lib/basename-lgpl.c b/lib/basename-lgpl.c index 405edfa35..5dbd15708 100644 --- a/lib/basename-lgpl.c +++ b/lib/basename-lgpl.c @@ -3,12 +3,12 @@ Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/basename-lgpl.h b/lib/basename-lgpl.h index 222d21f82..d520c0930 100644 --- a/lib/basename-lgpl.h +++ b/lib/basename-lgpl.h @@ -1,20 +1,20 @@ -/* Extract the last component (base name) of a file name. +/* Extract the last component (base name) of a file name. =20 - Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundatio= n, - Inc. + Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, + Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publish= ed by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licen= se - along with this program. If not, see .= */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _BASENAME_LGPL_H #define _BASENAME_LGPL_H diff --git a/lib/binary-io.c b/lib/binary-io.c index 83a820a5d..adc0ae2b0 100644 --- a/lib/binary-io.c +++ b/lib/binary-io.c @@ -1,12 +1,12 @@ /* Binary mode I/O. Copyright 2017-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/binary-io.h b/lib/binary-io.h index 1dfbe5a98..0fa8d546f 100644 --- a/lib/binary-io.h +++ b/lib/binary-io.h @@ -1,12 +1,12 @@ /* Binary mode I/O. Copyright (C) 2001, 2003, 2005, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/bind.c b/lib/bind.c index 87fe0ed11..0e4725446 100644 --- a/lib/bind.c +++ b/lib/bind.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/btowc.c b/lib/btowc.c index e800878dd..b8239afae 100644 --- a/lib/btowc.c +++ b/lib/btowc.c @@ -2,12 +2,12 @@ Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2008. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/byteswap.in.h b/lib/byteswap.in.h index c17623888..113f87802 100644 --- a/lib/byteswap.in.h +++ b/lib/byteswap.in.h @@ -2,12 +2,12 @@ Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. Written by Oskar Liljeblad , 2005. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/c-ctype.c b/lib/c-ctype.c index 5d9d4d87a..300f97c29 100644 --- a/lib/c-ctype.c +++ b/lib/c-ctype.c @@ -1,3 +1,21 @@ +/* Character handling in C locale. + + Copyright (C) 2003-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + #include + #define C_CTYPE_INLINE _GL_EXTERN_INLINE #include "c-ctype.h" diff --git a/lib/c-ctype.h b/lib/c-ctype.h index e8403dbda..3a652ac1f 100644 --- a/lib/c-ctype.h +++ b/lib/c-ctype.h @@ -7,18 +7,18 @@ =20 Copyright (C) 2000-2003, 2006, 2008-2021 Free Software Foundation, Inc. =20 -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program; if not, see . */ + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef C_CTYPE_H #define C_CTYPE_H diff --git a/lib/c-strcase.h b/lib/c-strcase.h index 8240dbcf4..82f99bb06 100644 --- a/lib/c-strcase.h +++ b/lib/c-strcase.h @@ -2,18 +2,18 @@ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef C_STRCASE_H #define C_STRCASE_H diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c index 805dc990b..3c2245508 100644 --- a/lib/c-strcasecmp.c +++ b/lib/c-strcasecmp.c @@ -1,18 +1,18 @@ /* c-strcasecmp.c -- case insensitive string comparator in C locale Copyright (C) 1998-1999, 2005-2006, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/c-strcaseeq.h b/lib/c-strcaseeq.h index ed979aa6c..66b9cf3c1 100644 --- a/lib/c-strcaseeq.h +++ b/lib/c-strcaseeq.h @@ -1,15 +1,15 @@ /* Optimized case-insensitive string comparison in C locale. Copyright (C) 2001-2002, 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . = */ diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c index c3203fddf..f3ca786cb 100644 --- a/lib/c-strncasecmp.c +++ b/lib/c-strncasecmp.c @@ -1,18 +1,18 @@ /* c-strncasecmp.c -- case insensitive string comparator in C locale Copyright (C) 1998-1999, 2005-2006, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/cdefs.h b/lib/cdefs.h index 90f97412a..b883b2566 100644 --- a/lib/cdefs.h +++ b/lib/cdefs.h @@ -259,10 +259,12 @@ # define __attribute_const__ /* Ignore */ #endif =20 -#if defined __STDC_VERSION__ && 201710L < __STDC_VERSION__ -# define __attribute_maybe_unused__ [[__maybe_unused__]] -#elif __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) +#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) # define __attribute_maybe_unused__ __attribute__ ((__unused__)) +/* Once the next version of the C standard comes out, we can + do something like the following here: + #elif defined __STDC_VERSION__ && 202???L <=3D __STDC_VERSION__ + # define __attribute_maybe_unused__ [[__maybe_unused__]] */ #else # define __attribute_maybe_unused__ /* Ignore */ #endif @@ -320,7 +322,9 @@ #endif =20 /* The nonnull function attribute marks pointer parameters that - must not be NULL. */ + must not be NULL. This has the name __nonnull in glibc, + and __attribute_nonnull__ in files shared with Gnulib to avoid + collision with a different __nonnull in DragonFlyBSD 5.9. */ #ifndef __attribute_nonnull__ # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) # define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params= )) @@ -485,9 +489,9 @@ [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] #endif =20 -/* The #ifndef lets Gnulib avoid including these on non-glibc - platforms, where the includes typically do not exist. */ -#ifndef __WORDSIZE +/* Gnulib avoids including these, as they don't work on non-glibc or + older glibc platforms. */ +#ifndef __GNULIB_CDEFS # include # include #endif diff --git a/lib/ceil.c b/lib/ceil.c index 06e7e5e31..fce05d986 100644 --- a/lib/ceil.c +++ b/lib/ceil.c @@ -1,12 +1,12 @@ /* Round towards positive infinity. Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/cloexec.c b/lib/cloexec.c index 1f58b721e..7defa9344 100644 --- a/lib/cloexec.c +++ b/lib/cloexec.c @@ -2,20 +2,20 @@ =20 Copyright (C) 1991, 2004-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . + along with this program. If not, see . = */ =20 - The code is taken from glibc/manual/llio.texi */ +/* The code is taken from glibc/manual/llio.texi */ =20 #include =20 diff --git a/lib/cloexec.h b/lib/cloexec.h index 7a71ad4f3..97a3659ef 100644 --- a/lib/cloexec.h +++ b/lib/cloexec.h @@ -2,20 +2,18 @@ =20 Copyright (C) 2004, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . - -*/ + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/close.c b/lib/close.c index 11e31dbbf..5b9ab6c9f 100644 --- a/lib/close.c +++ b/lib/close.c @@ -1,12 +1,12 @@ /* close replacement. Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/connect.c b/lib/connect.c index fe0de7e6c..b2b2e9334 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/copysign.c b/lib/copysign.c index ad5b1020e..fee131be1 100644 --- a/lib/copysign.c +++ b/lib/copysign.c @@ -1,12 +1,12 @@ /* Copy sign into another 'double' number. Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/dirent.in.h b/lib/dirent.in.h index a285bdecc..647a3dba5 100644 --- a/lib/dirent.in.h +++ b/lib/dirent.in.h @@ -1,12 +1,12 @@ /* A GNU-like . Copyright (C) 2006-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/dirfd.c b/lib/dirfd.c index 7da640fc6..640cb4ff1 100644 --- a/lib/dirfd.c +++ b/lib/dirfd.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2001, 2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/dirname-lgpl.c b/lib/dirname-lgpl.c index 9cc5db75e..95f9c9919 100644 --- a/lib/dirname-lgpl.c +++ b/lib/dirname-lgpl.c @@ -3,12 +3,12 @@ Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/dirname.h b/lib/dirname.h index dce18598a..04f823eca 100644 --- a/lib/dirname.h +++ b/lib/dirname.h @@ -1,26 +1,27 @@ -/* Take file names apart into directory and base names. +/* Take file names apart into directory and base names. =20 - Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundatio= n, - Inc. + Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, + Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publish= ed by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licen= se - along with this program. If not, see .= */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef DIRNAME_H_ # define DIRNAME_H_ 1 =20 # include # include +# include # include "filename.h" # include "basename-lgpl.h" =20 @@ -33,11 +34,16 @@ extern "C" { #endif =20 # if GNULIB_DIRNAME -char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC; -char *dir_name (char const *file); +char *base_name (char const *file) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; +char *dir_name (char const *file) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; # endif =20 -char *mdir_name (char const *file); +char *mdir_name (char const *file) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; =20 bool strip_trailing_slashes (char *file); diff --git a/lib/dup2.c b/lib/dup2.c index 653ef8995..53e555213 100644 --- a/lib/dup2.c +++ b/lib/dup2.c @@ -2,12 +2,12 @@ =20 Copyright (C) 1999, 2004-2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/duplocale.c b/lib/duplocale.c index 430634dbe..bc8740d4f 100644 --- a/lib/duplocale.c +++ b/lib/duplocale.c @@ -1,12 +1,12 @@ /* Duplicate a locale object. Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/dynarray.h b/lib/dynarray.h index 5db6ed95b..ec64273b3 100644 --- a/lib/dynarray.h +++ b/lib/dynarray.h @@ -1,12 +1,12 @@ /* Type-safe arrays which grow dynamically. Copyright 2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -257,18 +257,22 @@ static DYNARRAY_ELEMENT * =20 #if defined DYNARRAY_STRUCT || defined DYNARRAY_ELEMENT || defined DYNARRA= Y_PREFIX =20 -# include +# ifndef _GL_LIKELY +/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. = */ +# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) +# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) +# endif =20 /* Define auxiliary structs and declare auxiliary functions, common to all instantiations of dynarray. */ -# include +# include =20 /* Define the instantiation, specified through DYNARRAY_STRUCT DYNARRAY_ELEMENT DYNARRAY_PREFIX etc. */ -# include +# include =20 #else =20 diff --git a/lib/errno.in.h b/lib/errno.in.h index 0ae2aceca..3cad9e2d6 100644 --- a/lib/errno.in.h +++ b/lib/errno.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _@GUARD_PREFIX@_ERRNO_H =20 diff --git a/lib/fcntl.c b/lib/fcntl.c index e6c4b8e68..c744eb91e 100644 --- a/lib/fcntl.c +++ b/lib/fcntl.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h index 7254a5619..26dedc304 100644 --- a/lib/fcntl.in.h +++ b/lib/fcntl.in.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2006-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/fd-hook.c b/lib/fd-hook.c index f8e278158..75b1626de 100644 --- a/lib/fd-hook.c +++ b/lib/fd-hook.c @@ -2,15 +2,15 @@ Copyright (C) 2009-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2009. =20 - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . = */ diff --git a/lib/fd-hook.h b/lib/fd-hook.h index 0005db7aa..98e2a5263 100644 --- a/lib/fd-hook.h +++ b/lib/fd-hook.h @@ -1,15 +1,15 @@ /* Hook for making file descriptor functions close(), ioctl() extensible. Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . = */ diff --git a/lib/float+.h b/lib/float+.h index d814bf196..ad891f65d 100644 --- a/lib/float+.h +++ b/lib/float+.h @@ -2,18 +2,18 @@ Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2007. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _FLOATPLUS_H #define _FLOATPLUS_H diff --git a/lib/float.c b/lib/float.c index 5c16d6110..dd1e84ad1 100644 --- a/lib/float.c +++ b/lib/float.c @@ -2,12 +2,12 @@ Copyright (C) 2011-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2011. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/float.in.h b/lib/float.in.h index 1179df594..f52aba36e 100644 --- a/lib/float.in.h +++ b/lib/float.in.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/floor.c b/lib/floor.c index 9f13d1631..15303004f 100644 --- a/lib/floor.c +++ b/lib/floor.c @@ -1,12 +1,12 @@ /* Round towards negative infinity. Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/free.c b/lib/free.c index b22124154..780f03dd1 100644 --- a/lib/free.c +++ b/lib/free.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2003, 2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/frexp.c b/lib/frexp.c index 55340b8d4..ab5f34315 100644 --- a/lib/frexp.c +++ b/lib/frexp.c @@ -1,12 +1,12 @@ /* Split a double into fraction and mantissa. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/fstat.c b/lib/fstat.c index 30440d623..512c688c4 100644 --- a/lib/fstat.c +++ b/lib/fstat.c @@ -1,12 +1,12 @@ /* fstat() replacement. Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/fsync.c b/lib/fsync.c index 71fcddecc..99a932d77 100644 --- a/lib/fsync.c +++ b/lib/fsync.c @@ -9,15 +9,15 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This library is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . = */ diff --git a/lib/full-read.c b/lib/full-read.c index 32ff1a54a..53be6596a 100644 --- a/lib/full-read.c +++ b/lib/full-read.c @@ -1,12 +1,12 @@ /* An interface to read that retries after partial reads and interrupts. Copyright (C) 2002-2003, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/full-read.h b/lib/full-read.h index 450d645d1..b36f2e169 100644 --- a/lib/full-read.h +++ b/lib/full-read.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/full-write.c b/lib/full-write.c index acbfc3121..614ca0b4f 100644 --- a/lib/full-write.c +++ b/lib/full-write.c @@ -2,12 +2,12 @@ =20 Copyright (C) 1993-1994, 1997-2006, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/full-write.h b/lib/full-write.h index 1220d05de..c316224b4 100644 --- a/lib/full-write.h +++ b/lib/full-write.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2002-2003, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/gai_strerror.c b/lib/gai_strerror.c index 907e8e6da..4874ef5e3 100644 --- a/lib/gai_strerror.c +++ b/lib/gai_strerror.c @@ -3,18 +3,18 @@ This file is part of the GNU C Library. Contributed by Philip Blundell , 1997. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _LIBC # include diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c index 05fc59e8d..0c42d1b7b 100644 --- a/lib/getaddrinfo.c +++ b/lib/getaddrinfo.c @@ -2,18 +2,18 @@ Copyright (C) 1997, 2001-2002, 2004-2021 Free Software Foundation, Inc. Contributed by Simon Josefsson . =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwis= e gcc optimizes away the sa =3D=3D NULL test below. */ diff --git a/lib/getdtablesize.c b/lib/getdtablesize.c index 918db9dd4..5006c2d5c 100644 --- a/lib/getdtablesize.c +++ b/lib/getdtablesize.c @@ -2,12 +2,12 @@ Copyright (C) 2008-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2008. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/getlogin.c b/lib/getlogin.c index 4a7099450..7b78c67ce 100644 --- a/lib/getlogin.c +++ b/lib/getlogin.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2010-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/getpeername.c b/lib/getpeername.c index 5d9cf79ea..468bb3d7c 100644 --- a/lib/getpeername.c +++ b/lib/getpeername.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/getrandom.c b/lib/getrandom.c index b467caa7a..a186c4d3b 100644 --- a/lib/getrandom.c +++ b/lib/getrandom.c @@ -2,12 +2,12 @@ =20 Copyright 2020-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -178,7 +178,11 @@ getrandom (void *buffer, size_t length, unsigned int f= lags) + (flags & GRND_NONBLOCK ? O_NONBLOCK : 0)); fd =3D open (randdevice[devrandom], oflags); if (fd < 0) - return fd; + { + if (errno =3D=3D ENOENT || errno =3D=3D ENOTDIR) + errno =3D ENOSYS; + return -1; + } randfd[devrandom] =3D fd; } =20 diff --git a/lib/getsockname.c b/lib/getsockname.c index 83c1b7dcf..d1f17b3ed 100644 --- a/lib/getsockname.c +++ b/lib/getsockname.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/getsockopt.c b/lib/getsockopt.c index cec49330c..b92d034bb 100644 --- a/lib/getsockopt.c +++ b/lib/getsockopt.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/gettext.h b/lib/gettext.h index dd05cdaa5..f1c7a2407 100644 --- a/lib/gettext.h +++ b/lib/gettext.h @@ -2,18 +2,18 @@ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 diff --git a/lib/hard-locale.c b/lib/hard-locale.c index ab3610d29..8b6802d10 100644 --- a/lib/hard-locale.c +++ b/lib/hard-locale.c @@ -3,12 +3,12 @@ Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/hard-locale.h b/lib/hard-locale.h index c4449f912..eba66018c 100644 --- a/lib/hard-locale.h +++ b/lib/hard-locale.h @@ -2,12 +2,12 @@ =20 Copyright (C) 1999, 2003-2004, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/iconv.c b/lib/iconv.c index f3480aad6..bf5149349 100644 --- a/lib/iconv.c +++ b/lib/iconv.c @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 1999-2001, 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/iconv.in.h b/lib/iconv.in.h index 0fc0fa7c8..3a2f94e75 100644 --- a/lib/iconv.in.h +++ b/lib/iconv.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _@GUARD_PREFIX@_ICONV_H =20 diff --git a/lib/iconv_close.c b/lib/iconv_close.c index bc40feccd..7429b925b 100644 --- a/lib/iconv_close.c +++ b/lib/iconv_close.c @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/iconv_open-aix.gperf b/lib/iconv_open-aix.gperf index 20ce70a0f..d07375914 100644 --- a/lib/iconv_open-aix.gperf +++ b/lib/iconv_open-aix.gperf @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type diff --git a/lib/iconv_open-hpux.gperf b/lib/iconv_open-hpux.gperf index 921c722ed..f4664d615 100644 --- a/lib/iconv_open-hpux.gperf +++ b/lib/iconv_open-hpux.gperf @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 struct mapping { int standard_name; const char vendor_name[9 + 1]; }; %struct-type diff --git a/lib/iconv_open-irix.gperf b/lib/iconv_open-irix.gperf index 6241de60d..9885d9278 100644 --- a/lib/iconv_open-irix.gperf +++ b/lib/iconv_open-irix.gperf @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type diff --git a/lib/iconv_open-osf.gperf b/lib/iconv_open-osf.gperf index 97d570ced..d818d79dc 100644 --- a/lib/iconv_open-osf.gperf +++ b/lib/iconv_open-osf.gperf @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2020-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type diff --git a/lib/iconv_open-solaris.gperf b/lib/iconv_open-solaris.gperf index 0283aba22..648dd3afb 100644 --- a/lib/iconv_open-solaris.gperf +++ b/lib/iconv_open-solaris.gperf @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2009, 2020-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type diff --git a/lib/iconv_open-zos.gperf b/lib/iconv_open-zos.gperf index faf5d65da..1c3552e0f 100644 --- a/lib/iconv_open-zos.gperf +++ b/lib/iconv_open-zos.gperf @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 struct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type diff --git a/lib/iconv_open.c b/lib/iconv_open.c index 304592ec5..e573556e9 100644 --- a/lib/iconv_open.c +++ b/lib/iconv_open.c @@ -1,18 +1,18 @@ /* Character set conversion. Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/iconveh.h b/lib/iconveh.h index b2be8fa93..cbf692ebe 100644 --- a/lib/iconveh.h +++ b/lib/iconveh.h @@ -2,12 +2,12 @@ Copyright (C) 2001-2007, 2009-2021 Free Software Foundation, Inc. Written by Bruno Haible. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c index 5b9ea1172..409e88c76 100644 --- a/lib/inet_ntop.c +++ b/lib/inet_ntop.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* * Copyright (c) 1996-1999 by Internet Software Consortium. diff --git a/lib/inet_pton.c b/lib/inet_pton.c index 57dc7dc40..14e8b0acd 100644 --- a/lib/inet_pton.c +++ b/lib/inet_pton.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h index fe0af82f8..41cb4220c 100644 --- a/lib/inttypes.in.h +++ b/lib/inttypes.in.h @@ -2,12 +2,12 @@ Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isfinite.c b/lib/isfinite.c index cfd2d33f0..f1373b90e 100644 --- a/lib/isfinite.c +++ b/lib/isfinite.c @@ -1,18 +1,18 @@ /* Test for finite value (zero, subnormal, or normal, and not infinite or = NaN). Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Ben Pfaff , 2007. */ =20 diff --git a/lib/isinf.c b/lib/isinf.c index 6d4dfc0ac..62becf22d 100644 --- a/lib/isinf.c +++ b/lib/isinf.c @@ -1,18 +1,18 @@ /* Test for positive or negative infinity. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Ben Pfaff , 2008. */ =20 diff --git a/lib/isnan.c b/lib/isnan.c index 2282269e0..ed3452f90 100644 --- a/lib/isnan.c +++ b/lib/isnan.c @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isnand-nolibm.h b/lib/isnand-nolibm.h index fbed47489..df64f4e17 100644 --- a/lib/isnand-nolibm.h +++ b/lib/isnand-nolibm.h @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isnand.c b/lib/isnand.c index f359130ba..7c5df9072 100644 --- a/lib/isnand.c +++ b/lib/isnand.c @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isnanf-nolibm.h b/lib/isnanf-nolibm.h index ba609d5d3..bd858117b 100644 --- a/lib/isnanf-nolibm.h +++ b/lib/isnanf-nolibm.h @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isnanf.c b/lib/isnanf.c index 94a32e5a1..3b60340a2 100644 --- a/lib/isnanf.c +++ b/lib/isnanf.c @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isnanl-nolibm.h b/lib/isnanl-nolibm.h index 797c06b43..41fe15699 100644 --- a/lib/isnanl-nolibm.h +++ b/lib/isnanl-nolibm.h @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/isnanl.c b/lib/isnanl.c index b4595605f..e8dedf0f4 100644 --- a/lib/isnanl.c +++ b/lib/isnanl.c @@ -1,12 +1,12 @@ /* Test for NaN that does not need libm. Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/itold.c b/lib/itold.c index f52216a88..798486636 100644 --- a/lib/itold.c +++ b/lib/itold.c @@ -2,12 +2,12 @@ Copyright (C) 2011-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2011. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/langinfo.in.h b/lib/langinfo.in.h index e8ac12c3c..4873899d8 100644 --- a/lib/langinfo.in.h +++ b/lib/langinfo.in.h @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* * POSIX for platforms that lack it or have an incomplete one. diff --git a/lib/lc-charset-dispatch.c b/lib/lc-charset-dispatch.c index 98c6e9de7..88a0bd325 100644 --- a/lib/lc-charset-dispatch.c +++ b/lib/lc-charset-dispatch.c @@ -1,12 +1,12 @@ /* Dispatching based on the current locale's character encoding. Copyright (C) 2018-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/lc-charset-dispatch.h b/lib/lc-charset-dispatch.h index d9d1ac161..59b485de4 100644 --- a/lib/lc-charset-dispatch.h +++ b/lib/lc-charset-dispatch.h @@ -1,12 +1,12 @@ /* Dispatching based on the current locale's character encoding. Copyright (C) 2018-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/libc-config.h b/lib/libc-config.h index f14013f7e..f68749fc7 100644 --- a/lib/libc-config.h +++ b/lib/libc-config.h @@ -28,7 +28,10 @@ =20 When compiled as part of glibc this is a no-op; when compiled as part of Gnulib this includes Gnulib's and defines macros - that glibc library code would normally assume. */ + that glibc library code would normally assume. + + Note: This header file MUST NOT be included by public header files + of Gnulib. */ =20 #include =20 @@ -71,7 +74,7 @@ # endif #endif =20 -#ifndef __attribute_maybe_unused__ +#ifndef __attribute_nonnull__ /* either does not exist, or is too old for Gnulib. Prepare to include , which is Gnulib's version of a more-recent glibc . */ @@ -80,13 +83,9 @@ # ifndef _FEATURES_H # define _FEATURES_H 1 # endif -/* Define __WORDSIZE so that does not attempt to include - nonexistent files. Make it a syntax error, since Gnulib does not - use __WORDSIZE now, and if Gnulib uses it later the syntax error - will let us know that __WORDSIZE needs configuring. */ -# ifndef __WORDSIZE -# define __WORDSIZE %%% -# endif +/* Define __GNULIB_CDEFS so that does not attempt to include + nonexistent files. */ +# define __GNULIB_CDEFS /* Undef the macros unconditionally defined by our copy of glibc , so that they do not clash with any system-defined versions. */ diff --git a/lib/libunistring.valgrind b/lib/libunistring.valgrind index 712c39a9d..9eee19afa 100644 --- a/lib/libunistring.valgrind +++ b/lib/libunistring.valgrind @@ -2,18 +2,26 @@ =20 # Copyright (C) 2010-2021 Free Software Foundation, Inc. # -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. +# This file is free software. +# It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". +# You can redistribute it and/or modify it under either +# - the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation; either version 3, or (at your +# option) any later version, or +# - the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) +# any later version, or +# - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. +# Lesser General Public License and the GNU General Public License +# for more details. # -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . +# You should have received a copy of the GNU Lesser General Public +# License and of the GNU General Public License along with this +# program. If not, see . =20 # Suppress a valgrind message about use of uninitialized memory in freea(). # This use is OK because it provides only a speedup. diff --git a/lib/limits.in.h b/lib/limits.in.h index 4675ba4b2..2ecafebb0 100644 --- a/lib/limits.in.h +++ b/lib/limits.in.h @@ -2,18 +2,18 @@ =20 Copyright 2016-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation; either version 2, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ @@ -99,10 +99,11 @@ # endif #endif =20 -/* Macros specified by ISO/IEC TS 18661-1:2014. */ +/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ =20 #if (! defined ULLONG_WIDTH \ - && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) + && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) # define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX) # define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX) # define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX) @@ -114,7 +115,16 @@ # define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX) # define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX) # define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) -#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__= ) */ +#endif + +/* Macros specified by C2x. */ + +#if (! defined BOOL_WIDTH \ + && (defined _GNU_SOURCE \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) +# define BOOL_MAX 1 +# define BOOL_WIDTH 1 +#endif =20 #endif /* _@GUARD_PREFIX@_LIMITS_H */ #endif /* _@GUARD_PREFIX@_LIMITS_H */ diff --git a/lib/link.c b/lib/link.c index 3ba897a8b..bd4bef9f8 100644 --- a/lib/link.c +++ b/lib/link.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/listen.c b/lib/listen.c index ccf881ca3..a145f82c5 100644 --- a/lib/listen.c +++ b/lib/listen.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/localcharset.c b/lib/localcharset.c index 87a5979a3..9c22050dc 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2000-2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Bruno Haible . */ =20 diff --git a/lib/localcharset.h b/lib/localcharset.h index c2c1c6783..27c3ab60e 100644 --- a/lib/localcharset.h +++ b/lib/localcharset.h @@ -2,18 +2,18 @@ Copyright (C) 2000-2003, 2009-2021 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H diff --git a/lib/locale.in.h b/lib/locale.in.h index 4eb3c80ed..106307069 100644 --- a/lib/locale.in.h +++ b/lib/locale.in.h @@ -1,12 +1,12 @@ /* A POSIX . Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/localeconv.c b/lib/localeconv.c index cdcaf866c..25e95a112 100644 --- a/lib/localeconv.c +++ b/lib/localeconv.c @@ -1,12 +1,12 @@ /* Query locale dependent information for formatting numbers. Copyright (C) 2012-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/log.c b/lib/log.c index 03e9ac97d..3f142e88d 100644 --- a/lib/log.c +++ b/lib/log.c @@ -1,12 +1,12 @@ /* Logarithm. Copyright (C) 2012-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/log1p.c b/lib/log1p.c index 0e514984c..c45c6ff34 100644 --- a/lib/log1p.c +++ b/lib/log1p.c @@ -1,12 +1,12 @@ /* Natural logarithm of 1 plus argument. Copyright (C) 2012-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/lstat.c b/lib/lstat.c index d414d3af7..7de0bf102 100644 --- a/lib/lstat.c +++ b/lib/lstat.c @@ -2,12 +2,12 @@ =20 Copyright (C) 1997-2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/malloc.c b/lib/malloc.c index 6bbb97dc2..0d8b3596c 100644 --- a/lib/malloc.c +++ b/lib/malloc.c @@ -2,61 +2,50 @@ =20 Copyright (C) 1997-1998, 2006-2007, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* written by Jim Meyering and Bruno Haible */ =20 #define _GL_USE_STDLIB_ALLOC 1 #include -/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ -#ifdef malloc -# define NEED_MALLOC_GNU 1 -# undef malloc -/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ -#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU -# define NEED_MALLOC_GNU 1 -#endif =20 #include =20 -/* A function definition is only needed if NEED_MALLOC_GNU is defined above - or if the module 'malloc-posix' requests it. */ -#if NEED_MALLOC_GNU || (GNULIB_MALLOC_POSIX && !HAVE_MALLOC_POSIX) +#include =20 -# include +#include "xalloc-oversized.h" =20 -/* Allocate an N-byte block of memory from the heap. - If N is zero, allocate a 1-byte block. */ +/* Allocate an N-byte block of memory from the heap, even if N is 0. */ =20 void * rpl_malloc (size_t n) { - void *result; - -# if NEED_MALLOC_GNU if (n =3D=3D 0) n =3D 1; -# endif =20 - result =3D malloc (n); + if (xalloc_oversized (n, 1)) + { + errno =3D ENOMEM; + return NULL; + } + + void *result =3D malloc (n); =20 -# if !HAVE_MALLOC_POSIX +#if !HAVE_MALLOC_POSIX if (result =3D=3D NULL) errno =3D ENOMEM; -# endif +#endif =20 return result; } - -#endif diff --git a/lib/malloca.c b/lib/malloca.c index a546b306a..b4884234a 100644 --- a/lib/malloca.c +++ b/lib/malloca.c @@ -2,18 +2,18 @@ Copyright (C) 2003, 2006-2007, 2009-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2003, 2018. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #define _GL_USE_STDLIB_ALLOC 1 #include @@ -21,6 +21,8 @@ /* Specification. */ #include "malloca.h" =20 +#include "idx.h" +#include "intprops.h" #include "verify.h" =20 /* The speed critical point in this file is freea() applied to an alloca() @@ -45,24 +47,30 @@ mmalloca (size_t n) #if HAVE_ALLOCA /* Allocate one more word, used to determine the address to pass to free= a(), and room for the alignment =E2=89=A1 sa_alignment_max mod 2*sa_alignm= ent_max. */ - size_t nplus =3D n + sizeof (small_t) + 2 * sa_alignment_max - 1; - - if (nplus >=3D n) + uintptr_t alignment2_mask =3D 2 * sa_alignment_max - 1; + int plus =3D sizeof (small_t) + alignment2_mask; + idx_t nplus; + if (!INT_ADD_WRAPV (n, plus, &nplus) && !xalloc_oversized (nplus, 1)) { char *mem =3D (char *) malloc (nplus); =20 if (mem !=3D NULL) { - char *p =3D - (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_ma= x - 1) - & ~(uintptr_t)(2 * sa_alignment_max - 1)) - + sa_alignment_max); + uintptr_t umem =3D (uintptr_t)mem, umemplus; + /* The INT_ADD_WRAPV avoids signed integer overflow on + theoretical platforms where UINTPTR_MAX <=3D INT_MAX. */ + INT_ADD_WRAPV (umem, sizeof (small_t) + sa_alignment_max - 1, + &umemplus); + idx_t offset =3D ((umemplus & ~alignment2_mask) + + sa_alignment_max - umem); + void *vp =3D mem + offset; + small_t *p =3D vp; /* Here p >=3D mem + sizeof (small_t), and p <=3D mem + sizeof (small_t) + 2 * sa_alignment_max - 1 hence p + n <=3D mem + nplus. So, the memory range [p, p+n) lies in the allocated memory ra= nge [mem, mem + nplus). */ - ((small_t *) p)[-1] =3D p - mem; + p[-1] =3D offset; /* p =E2=89=A1 sa_alignment_max mod 2*sa_alignment_max. */ return p; } diff --git a/lib/malloca.h b/lib/malloca.h index 9cf7fbb52..dbbec3f06 100644 --- a/lib/malloca.h +++ b/lib/malloca.h @@ -2,18 +2,18 @@ Copyright (C) 2003-2007, 2009-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2003. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _MALLOCA_H #define _MALLOCA_H @@ -65,7 +65,6 @@ extern "C" { # define malloca(N) \ mmalloca (N) #endif -extern void * mmalloca (size_t n); =20 /* Free a block of memory allocated through malloca(). */ #if HAVE_ALLOCA @@ -74,12 +73,16 @@ extern void freea (void *p); # define freea free #endif =20 +extern void *mmalloca (size_t n) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (freea, 1) + _GL_ATTRIBUTE_ALLOC_SIZE ((1)); + /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). It allocates an array of N objects, each with S bytes of memory, - on the stack. S must be positive and N must be nonnegative. - Either N or S should be of type ptrdiff_t or size_t or wider. + on the stack. N and S should be nonnegative and free of side effects. The array must be freed using freea() before the function returns. */ -#define nmalloca(n, s) (xalloc_oversized (n, s) ? NULL : malloca ((n) * (s= ))) +#define nmalloca(n, s) \ + (xalloc_oversized (n, s) ? NULL : malloca ((n) * (size_t) (s))) =20 =20 #ifdef __cplusplus diff --git a/lib/math.c b/lib/math.c index ba2a6abd6..3ffd1d728 100644 --- a/lib/math.c +++ b/lib/math.c @@ -1,4 +1,22 @@ +/* Inline functions for . + + Copyright (C) 2012-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + #include + #define _GL_MATH_INLINE _GL_EXTERN_INLINE #include "math.h" typedef int dummy; diff --git a/lib/math.in.h b/lib/math.in.h index d80047cd6..6a055fbf5 100644 --- a/lib/math.in.h +++ b/lib/math.in.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2002-2003, 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbrtowc-impl-utf8.h b/lib/mbrtowc-impl-utf8.h index ea5ef1fe5..330fb1051 100644 --- a/lib/mbrtowc-impl-utf8.h +++ b/lib/mbrtowc-impl-utf8.h @@ -1,12 +1,12 @@ /* Convert multibyte character to wide character. Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbrtowc-impl.h b/lib/mbrtowc-impl.h index f7e28fce9..bc3e68823 100644 --- a/lib/mbrtowc-impl.h +++ b/lib/mbrtowc-impl.h @@ -1,12 +1,12 @@ /* Convert multibyte character to wide character. Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbrtowc.c b/lib/mbrtowc.c index 0db510470..8832f6e80 100644 --- a/lib/mbrtowc.c +++ b/lib/mbrtowc.c @@ -2,12 +2,12 @@ Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2008. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbsinit.c b/lib/mbsinit.c index 7ca8df75c..f44015534 100644 --- a/lib/mbsinit.c +++ b/lib/mbsinit.c @@ -2,12 +2,12 @@ Copyright (C) 2008-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2008. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbtowc-impl.h b/lib/mbtowc-impl.h index 01342af50..30d715d6a 100644 --- a/lib/mbtowc-impl.h +++ b/lib/mbtowc-impl.h @@ -2,12 +2,12 @@ Copyright (C) 2011-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2011. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbtowc-lock.c b/lib/mbtowc-lock.c index ce7479363..0f7ae6c21 100644 --- a/lib/mbtowc-lock.c +++ b/lib/mbtowc-lock.c @@ -1,12 +1,12 @@ /* Return the internal lock used by mbrtowc and mbrtoc32. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbtowc-lock.h b/lib/mbtowc-lock.h index 093951713..d31b0b6c7 100644 --- a/lib/mbtowc-lock.h +++ b/lib/mbtowc-lock.h @@ -1,12 +1,12 @@ /* Use the internal lock used by mbrtowc and mbrtoc32. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mbtowc.c b/lib/mbtowc.c index 27111944c..47b431a42 100644 --- a/lib/mbtowc.c +++ b/lib/mbtowc.c @@ -2,12 +2,12 @@ Copyright (C) 2011-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2011. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/memchr.c b/lib/memchr.c index d8feb192f..56fd59d79 100644 --- a/lib/memchr.c +++ b/lib/memchr.c @@ -7,21 +7,21 @@ adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). =20 -NOTE: The canonical source of this file is maintained with the GNU C Libra= ry. -Bugs can be reported to bug-glibc@prep.ai.mit.edu. + NOTE: The canonical source of this file is maintained with the GNU C Li= brary. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. =20 -This program is free software: you can redistribute it and/or modify it -under the terms of the GNU Lesser General Public License as published by t= he -Free Software Foundation; either version 3 of the License, or any -later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 -You should have received a copy of the GNU Lesser General Public License -along with this program. If not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _LIBC # include diff --git a/lib/memchr.valgrind b/lib/memchr.valgrind index 034d1ee76..4f16481ce 100644 --- a/lib/memchr.valgrind +++ b/lib/memchr.valgrind @@ -2,12 +2,12 @@ =20 # Copyright (C) 2009-2021 Free Software Foundation, Inc. # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published= by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. +# This file is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. # -# This program is distributed in the hope that it will be useful, +# This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. diff --git a/lib/mempcpy.c b/lib/mempcpy.c index c80e119f7..cacacdbc6 100644 --- a/lib/mempcpy.c +++ b/lib/mempcpy.c @@ -1,18 +1,18 @@ /* Copy memory area and return pointer after last written byte. Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/minmax.h b/lib/minmax.h index 7d0b67255..a03361baf 100644 --- a/lib/minmax.h +++ b/lib/minmax.h @@ -2,18 +2,18 @@ Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _MINMAX_H #define _MINMAX_H diff --git a/lib/mkdir.c b/lib/mkdir.c index 453e428d3..2766cc786 100644 --- a/lib/mkdir.c +++ b/lib/mkdir.c @@ -3,12 +3,12 @@ =20 Copyright (C) 2001, 2003, 2006, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/mkostemp.c b/lib/mkostemp.c index cfab63555..285f1badf 100644 --- a/lib/mkostemp.c +++ b/lib/mkostemp.c @@ -2,12 +2,12 @@ Foundation, Inc. This file is derived from the one in the GNU C Library. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c index de6ebee3f..a23dac958 100644 --- a/lib/msvc-inval.c +++ b/lib/msvc-inval.c @@ -1,18 +1,18 @@ /* Invalid parameter handler for MSVC runtime libraries. Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/msvc-inval.h b/lib/msvc-inval.h index 0d418e1f1..e115a3514 100644 --- a/lib/msvc-inval.h +++ b/lib/msvc-inval.h @@ -1,18 +1,18 @@ /* Invalid parameter handler for MSVC runtime libraries. Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _MSVC_INVAL_H #define _MSVC_INVAL_H diff --git a/lib/msvc-nothrow.c b/lib/msvc-nothrow.c index e72dabe0d..d3c1f54be 100644 --- a/lib/msvc-nothrow.c +++ b/lib/msvc-nothrow.c @@ -2,18 +2,18 @@ with MSVC runtime libraries. Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/msvc-nothrow.h b/lib/msvc-nothrow.h index a56cd4eaa..057b5dd8e 100644 --- a/lib/msvc-nothrow.h +++ b/lib/msvc-nothrow.h @@ -2,18 +2,18 @@ with MSVC runtime libraries. Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _MSVC_NOTHROW_H #define _MSVC_NOTHROW_H diff --git a/lib/netdb.in.h b/lib/netdb.in.h index 6bcaf1a22..eb5c960ba 100644 --- a/lib/netdb.in.h +++ b/lib/netdb.in.h @@ -2,18 +2,18 @@ Copyright (C) 2008-2021 Free Software Foundation, Inc. Written by Simon Josefsson. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* This file is supposed to be used on platforms that lack . It is intended to provide definitions and prototypes needed by an diff --git a/lib/netinet_in.in.h b/lib/netinet_in.in.h index 3c1cad68e..21f3a64f9 100644 --- a/lib/netinet_in.in.h +++ b/lib/netinet_in.in.h @@ -1,18 +1,18 @@ /* Substitute for . Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _@GUARD_PREFIX@_NETINET_IN_H =20 diff --git a/lib/nl_langinfo-lock.c b/lib/nl_langinfo-lock.c index 915c38bc7..fcdf56dc6 100644 --- a/lib/nl_langinfo-lock.c +++ b/lib/nl_langinfo-lock.c @@ -1,12 +1,12 @@ /* Return the internal lock used by nl_langinfo. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/nl_langinfo.c b/lib/nl_langinfo.c index e8f3cef46..b481f209d 100644 --- a/lib/nl_langinfo.c +++ b/lib/nl_langinfo.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/nproc.c b/lib/nproc.c index fef1f8b20..e3ddb9288 100644 --- a/lib/nproc.c +++ b/lib/nproc.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Glen Lenker and Bruno Haible. */ =20 diff --git a/lib/nproc.h b/lib/nproc.h index cd3ed365d..d7659a5ca 100644 --- a/lib/nproc.h +++ b/lib/nproc.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Glen Lenker and Bruno Haible. */ =20 diff --git a/lib/nstrftime.c b/lib/nstrftime.c index 7ef75290b..7f258e872 100644 --- a/lib/nstrftime.c +++ b/lib/nstrftime.c @@ -1,19 +1,18 @@ /* Copyright (C) 1991-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - The GNU C Library is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifdef _LIBC # define USE_IN_EXTENDED_LOCALE_MODEL 1 diff --git a/lib/open.c b/lib/open.c index 5dc117eeb..372cda881 100644 --- a/lib/open.c +++ b/lib/open.c @@ -1,12 +1,12 @@ /* Open a descriptor to a file. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/pathmax.h b/lib/pathmax.h index 4af7802fd..716f4a9aa 100644 --- a/lib/pathmax.h +++ b/lib/pathmax.h @@ -2,18 +2,18 @@ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _PATHMAX_H # define _PATHMAX_H diff --git a/lib/pipe.c b/lib/pipe.c index 3316cebd0..fc978f2eb 100644 --- a/lib/pipe.c +++ b/lib/pipe.c @@ -1,18 +1,18 @@ /* Create a pipe. Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/pipe2.c b/lib/pipe2.c index 25bce6ff4..9ba8c3b70 100644 --- a/lib/pipe2.c +++ b/lib/pipe2.c @@ -1,18 +1,18 @@ /* Create a pipe, with specific opening flags. Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/poll.c b/lib/poll.c index d7876760c..8d5ba9655 100644 --- a/lib/poll.c +++ b/lib/poll.c @@ -5,18 +5,18 @@ =20 This file is part of gnulib. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Tell gcc not to warn about the (nfd < 0) tests, below. */ #if (__GNUC__ =3D=3D 4 && 3 <=3D __GNUC_MINOR__) || 4 < __GNUC__ diff --git a/lib/poll.in.h b/lib/poll.in.h index 1fe83706f..e94cd31de 100644 --- a/lib/poll.in.h +++ b/lib/poll.in.h @@ -5,18 +5,18 @@ =20 This file is part of gnulib. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _@GUARD_PREFIX@_POLL_H =20 diff --git a/lib/printf-args.c b/lib/printf-args.c index 22e44ef16..b822682c3 100644 --- a/lib/printf-args.c +++ b/lib/printf-args.c @@ -2,18 +2,18 @@ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. diff --git a/lib/printf-args.h b/lib/printf-args.h index d15b12d1f..c8d91747b 100644 --- a/lib/printf-args.h +++ b/lib/printf-args.h @@ -2,18 +2,18 @@ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H diff --git a/lib/printf-parse.c b/lib/printf-parse.c index 9f9799528..f21cc17c0 100644 --- a/lib/printf-parse.c +++ b/lib/printf-parse.c @@ -1,18 +1,18 @@ /* Formatted output to strings. Copyright (C) 1999-2000, 2002-2003, 2006-2021 Free Software Foundation,= Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* This file can be parametrized with the following macros: CHAR_T The element type of the format string. @@ -48,16 +48,7 @@ #include =20 /* Get intmax_t. */ -#if defined IN_LIBINTL || defined IN_LIBASPRINTF -# if HAVE_STDINT_H_WITH_UINTMAX -# include -# endif -# if HAVE_INTTYPES_H_WITH_UINTMAX -# include -# endif -#else -# include -#endif +#include =20 /* malloc(), realloc(), free(). */ #include diff --git a/lib/printf-parse.h b/lib/printf-parse.h index e05ac8f59..77b74093c 100644 --- a/lib/printf-parse.h +++ b/lib/printf-parse.h @@ -2,18 +2,18 @@ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H diff --git a/lib/putenv.c b/lib/putenv.c index d342b8153..435d10fdc 100644 --- a/lib/putenv.c +++ b/lib/putenv.c @@ -4,12 +4,12 @@ NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. =20 - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published b= y the - Free Software Foundation; either version 3 of the License, or any - later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/raise.c b/lib/raise.c index eda9126b7..37c100dd8 100644 --- a/lib/raise.c +++ b/lib/raise.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2002-2003, 2005-2006, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/rawmemchr.c b/lib/rawmemchr.c index ef356895e..896d435af 100644 --- a/lib/rawmemchr.c +++ b/lib/rawmemchr.c @@ -1,12 +1,12 @@ /* Searching in a string. Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/rawmemchr.valgrind b/lib/rawmemchr.valgrind index 90ed95e1d..d489c320c 100644 --- a/lib/rawmemchr.valgrind +++ b/lib/rawmemchr.valgrind @@ -2,12 +2,12 @@ =20 # Copyright (C) 2008-2021 Free Software Foundation, Inc. # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published= by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. +# This file is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. # -# This program is distributed in the hope that it will be useful, +# This file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. diff --git a/lib/read.c b/lib/read.c index 125e73874..840d9ed5a 100644 --- a/lib/read.c +++ b/lib/read.c @@ -2,12 +2,12 @@ Copyright (C) 2008-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2011. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/readlink.c b/lib/readlink.c index 38d9e0c6b..d4f4b08e9 100644 --- a/lib/readlink.c +++ b/lib/readlink.c @@ -1,12 +1,12 @@ /* Read the contents of a symbolic link. Copyright (C) 2003-2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/realloc.c b/lib/realloc.c index 114551498..af03f0c57 100644 --- a/lib/realloc.c +++ b/lib/realloc.c @@ -3,12 +3,12 @@ Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -18,68 +18,46 @@ =20 /* written by Jim Meyering and Bruno Haible */ =20 -#define _GL_USE_STDLIB_ALLOC 1 #include =20 -/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. = */ -#ifdef realloc -# define NEED_REALLOC_GNU 1 -/* Whereas the gnulib module 'realloc-gnu' defines HAVE_REALLOC_GNU. */ -#elif GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU -# define NEED_REALLOC_GNU 1 -#endif - -/* Infer the properties of the system's malloc function. - The gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ -#if GNULIB_MALLOC_GNU && HAVE_MALLOC_GNU -# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 -#endif - #include =20 -/* A function definition is only needed if NEED_REALLOC_GNU is defined abo= ve - or if the module 'realloc-posix' requests it. */ -#if NEED_REALLOC_GNU || (GNULIB_REALLOC_POSIX && !HAVE_REALLOC_POSIX) +#include + +#include "xalloc-oversized.h" =20 -# include +/* Call the system's realloc below. This file does not define + _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */ +#undef realloc =20 /* Change the size of an allocated block of memory P to N bytes, - with error checking. If N is zero, change it to 1. If P is NULL, - use malloc. */ + with error checking. If P is NULL, use malloc. Otherwise if N is zero, + free P and return NULL. */ =20 void * rpl_realloc (void *p, size_t n) { - void *result; + if (p =3D=3D NULL) + return malloc (n); =20 -# if NEED_REALLOC_GNU if (n =3D=3D 0) { - n =3D 1; - - /* In theory realloc might fail, so don't rely on it to free. */ free (p); - p =3D NULL; + return NULL; } -# endif =20 - if (p =3D=3D NULL) + if (xalloc_oversized (n, 1)) { -# if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPA= TIBLE - if (n =3D=3D 0) - n =3D 1; -# endif - result =3D malloc (n); + errno =3D ENOMEM; + return NULL; } - else - result =3D realloc (p, n); =20 -# if !HAVE_REALLOC_POSIX + void *result =3D realloc (p, n); + +#if !HAVE_MALLOC_POSIX if (result =3D=3D NULL) errno =3D ENOMEM; -# endif +#endif =20 return result; } - -#endif diff --git a/lib/recv.c b/lib/recv.c index f2a342f7d..3eb2b4d4b 100644 --- a/lib/recv.c +++ b/lib/recv.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/recvfrom.c b/lib/recvfrom.c index 8abda0c69..25231ffe1 100644 --- a/lib/recvfrom.c +++ b/lib/recvfrom.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/regex_internal.c b/lib/regex_internal.c index 55f6b66de..aefcfa2f5 100644 --- a/lib/regex_internal.c +++ b/lib/regex_internal.c @@ -1211,6 +1211,10 @@ re_node_set_merge (re_node_set *dest, const re_node_= set *src) =20 if (__glibc_unlikely (dest->nelem =3D=3D 0)) { + /* Although we already guaranteed above that dest->alloc !=3D 0 and + therefore dest->elems !=3D NULL, add a debug assertion to pacify + GCC 11.2.1's -fanalyzer. */ + DEBUG_ASSERT (dest->elems); dest->nelem =3D src->nelem; memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); return REG_NOERROR; @@ -1286,7 +1290,10 @@ re_node_set_insert (re_node_set *set, Idx elem) =20 if (__glibc_unlikely (set->nelem) =3D=3D 0) { - /* We already guaranteed above that set->alloc !=3D 0. */ + /* Although we already guaranteed above that set->alloc !=3D 0 and + therefore set->elems !=3D NULL, add a debug assertion to pacify + GCC 11.2 -fanalyzer. */ + DEBUG_ASSERT (set->elems); set->elems[0] =3D elem; ++set->nelem; return true; diff --git a/lib/regexec.c b/lib/regexec.c index 6309deac8..5e4eb497a 100644 --- a/lib/regexec.c +++ b/lib/regexec.c @@ -1220,9 +1220,13 @@ proceed_next_node (const re_match_context_t *mctx, I= dx nregs, regmatch_t *regs, { re_node_set *cur_nodes =3D &mctx->state_log[*pidx]->nodes; re_node_set *edests =3D &dfa->edests[node]; - bool ok =3D re_node_set_insert (eps_via_nodes, node); - if (__glibc_unlikely (! ok)) - return -2; + + if (! re_node_set_contains (eps_via_nodes, node)) + { + bool ok =3D re_node_set_insert (eps_via_nodes, node); + if (__glibc_unlikely (! ok)) + return -2; + } =20 /* Pick a valid destination, or return -1 if none is found. */ Idx dest_node =3D -1; @@ -1414,7 +1418,7 @@ set_regs (const regex_t *preg, const re_match_context= _t *mctx, size_t nmatch, update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); =20 if ((idx =3D=3D pmatch[0].rm_eo && cur_node =3D=3D mctx->last_node) - || re_node_set_contains (&eps_via_nodes, cur_node)) + || (fs && re_node_set_contains (&eps_via_nodes, cur_node))) { Idx reg_idx; cur_node =3D -1; diff --git a/lib/rename.c b/lib/rename.c index 487302543..a3b7dc641 100644 --- a/lib/rename.c +++ b/lib/rename.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2001-2003, 2005-2006, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/rmdir.c b/lib/rmdir.c index a99fb1ee7..6295e4125 100644 --- a/lib/rmdir.c +++ b/lib/rmdir.c @@ -3,12 +3,12 @@ Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/round.c b/lib/round.c index 47a393658..552505042 100644 --- a/lib/round.c +++ b/lib/round.c @@ -1,18 +1,18 @@ /* Round toward nearest, breaking ties away from zero. Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Ben Pfaff , 2007. Based heavily on code by Bruno Haible. */ diff --git a/lib/safe-read.c b/lib/safe-read.c index a4a1b089d..e187b1258 100644 --- a/lib/safe-read.c +++ b/lib/safe-read.c @@ -3,12 +3,12 @@ Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/safe-read.h b/lib/safe-read.h index 50501245f..111aff5c4 100644 --- a/lib/safe-read.h +++ b/lib/safe-read.h @@ -1,12 +1,12 @@ /* An interface to read() that retries after interrupts. Copyright (C) 2002, 2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/safe-write.c b/lib/safe-write.c index f8b3b8b2d..494de1495 100644 --- a/lib/safe-write.c +++ b/lib/safe-write.c @@ -1,12 +1,12 @@ /* An interface to write that retries after interrupts. Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/safe-write.h b/lib/safe-write.h index 459629e1a..25d8c710c 100644 --- a/lib/safe-write.h +++ b/lib/safe-write.h @@ -1,12 +1,12 @@ /* An interface to write() that retries after interrupts. Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/same-inode.h b/lib/same-inode.h index 45e322a84..c7277779a 100644 --- a/lib/same-inode.h +++ b/lib/same-inode.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/scratch_buffer.h b/lib/scratch_buffer.h index 4b17f72ea..88735771d 100644 --- a/lib/scratch_buffer.h +++ b/lib/scratch_buffer.h @@ -1,12 +1,12 @@ /* Variable-sized buffer with on-stack default allocation. Copyright (C) 2017-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -110,14 +110,18 @@ extern void *scratch_buffer_dupfree (struct scratch_b= uffer *buffer, =20 /* The implementation is imported from glibc. */ =20 -#include - /* Avoid possible conflicts with symbols exported by the GNU libc. */ #define __libc_scratch_buffer_dupfree gl_scratch_buffer_dupfree #define __libc_scratch_buffer_grow gl_scratch_buffer_grow #define __libc_scratch_buffer_grow_preserve gl_scratch_buffer_grow_preserve #define __libc_scratch_buffer_set_array_size gl_scratch_buffer_set_array_s= ize =20 -#include +#ifndef _GL_LIKELY +/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. = */ +# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) +# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) +#endif + +#include =20 #endif /* _GL_SCRATCH_BUFFER_H */ diff --git a/lib/select.c b/lib/select.c index 9a6fc2804..eddac4b61 100644 --- a/lib/select.c +++ b/lib/select.c @@ -5,18 +5,18 @@ =20 This file is part of gnulib. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 @@ -530,12 +530,13 @@ restart: if (h !=3D handle_array[nhandles]) { /* Perform handle->descriptor mapping. */ - WSAEventSelect ((SOCKET) h, NULL, 0); - if (FD_ISSET (h, &handle_rfds)) + SOCKET s =3D (SOCKET) h; + WSAEventSelect (s, NULL, 0); + if (FD_ISSET (s, &handle_rfds)) FD_SET (i, rfds); - if (FD_ISSET (h, &handle_wfds)) + if (FD_ISSET (s, &handle_wfds)) FD_SET (i, wfds); - if (FD_ISSET (h, &handle_xfds)) + if (FD_ISSET (s, &handle_xfds)) FD_SET (i, xfds); } else diff --git a/lib/send.c b/lib/send.c index 36258642d..58cb70b56 100644 --- a/lib/send.c +++ b/lib/send.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/sendto.c b/lib/sendto.c index 5372a6683..029ccd69f 100644 --- a/lib/sendto.c +++ b/lib/sendto.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/setenv.c b/lib/setenv.c index 53740447a..3ad3477e9 100644 --- a/lib/setenv.c +++ b/lib/setenv.c @@ -1,12 +1,12 @@ /* Copyright (C) 1992, 1995-2003, 2005-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/setlocale-lock.c b/lib/setlocale-lock.c index 3cb5d4788..53e231c6c 100644 --- a/lib/setlocale-lock.c +++ b/lib/setlocale-lock.c @@ -1,12 +1,12 @@ /* Return the internal lock used by setlocale_null_r. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/setlocale_null.c b/lib/setlocale_null.c index 4c50472f0..dbfda25c5 100644 --- a/lib/setlocale_null.c +++ b/lib/setlocale_null.c @@ -1,12 +1,12 @@ /* Query the name of the current global locale. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/setlocale_null.h b/lib/setlocale_null.h index bf96fa490..00c42e2aa 100644 --- a/lib/setlocale_null.h +++ b/lib/setlocale_null.h @@ -1,12 +1,12 @@ /* Query the name of the current global locale. Copyright (C) 2019-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/setsockopt.c b/lib/setsockopt.c index db32996f0..10b1e9061 100644 --- a/lib/setsockopt.c +++ b/lib/setsockopt.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/shutdown.c b/lib/shutdown.c index c5527cd86..70c927c6a 100644 --- a/lib/shutdown.c +++ b/lib/shutdown.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/signal.in.h b/lib/signal.in.h index b2111372d..275da8c81 100644 --- a/lib/signal.in.h +++ b/lib/signal.in.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2006-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/signbitd.c b/lib/signbitd.c index 2992dd47b..22597719f 100644 --- a/lib/signbitd.c +++ b/lib/signbitd.c @@ -1,12 +1,12 @@ /* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/signbitf.c b/lib/signbitf.c index 01be49a32..b196d9ab5 100644 --- a/lib/signbitf.c +++ b/lib/signbitf.c @@ -1,12 +1,12 @@ /* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/signbitl.c b/lib/signbitl.c index 6e0f64e9b..f73802d1a 100644 --- a/lib/signbitl.c +++ b/lib/signbitl.c @@ -1,12 +1,12 @@ /* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/size_max.h b/lib/size_max.h index c6d4a1835..1186ba95d 100644 --- a/lib/size_max.h +++ b/lib/size_max.h @@ -2,18 +2,18 @@ Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. Written by Simon Josefsson. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef GNULIB_SIZE_MAX_H #define GNULIB_SIZE_MAX_H diff --git a/lib/snprintf.c b/lib/snprintf.c index 357f287f2..a589cf1a6 100644 --- a/lib/snprintf.c +++ b/lib/snprintf.c @@ -2,18 +2,18 @@ Copyright (C) 2004, 2006-2021 Free Software Foundation, Inc. Written by Simon Josefsson and Paul Eggert. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #include =20 diff --git a/lib/socket.c b/lib/socket.c index 85252603d..0f2e6ff91 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/sockets.c b/lib/sockets.c index 394b01ee5..934da73d2 100644 --- a/lib/sockets.c +++ b/lib/sockets.c @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/sockets.h b/lib/sockets.h index a13b0cb7a..e70c2bbfd 100644 --- a/lib/sockets.h +++ b/lib/sockets.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/stat-time.c b/lib/stat-time.c index 81b83ddb4..7b9279269 100644 --- a/lib/stat-time.c +++ b/lib/stat-time.c @@ -1,3 +1,21 @@ +/* stat-related time functions. + + Copyright (C) 2012-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + #include + #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE #include "stat-time.h" diff --git a/lib/stat-time.h b/lib/stat-time.h index 00c93296b..fe3483d63 100644 --- a/lib/stat-time.h +++ b/lib/stat-time.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/stat-w32.c b/lib/stat-w32.c index fe505cbdb..4164199b6 100644 --- a/lib/stat-w32.c +++ b/lib/stat-w32.c @@ -1,12 +1,12 @@ /* Core of implementation of fstat and stat for native Windows. Copyright (C) 2017-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/stat-w32.h b/lib/stat-w32.h index 05c9b0ff5..5b56c09dd 100644 --- a/lib/stat-w32.h +++ b/lib/stat-w32.h @@ -1,12 +1,12 @@ /* Core of implementation of fstat and stat for native Windows. Copyright (C) 2017-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/stat.c b/lib/stat.c index 39a12691f..bc9a767d3 100644 --- a/lib/stat.c +++ b/lib/stat.c @@ -1,12 +1,12 @@ /* Work around platform bugs in stat. Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h index 7b51043ec..592d58e37 100644 --- a/lib/stdalign.in.h +++ b/lib/stdalign.in.h @@ -2,18 +2,18 @@ =20 Copyright 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Paul Eggert and Bruno Haible. */ =20 diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h index c404f8d13..2a1992da8 100644 --- a/lib/stdbool.in.h +++ b/lib/stdbool.in.h @@ -1,18 +1,18 @@ /* Copyright (C) 2001-2003, 2006-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2001. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _GL_STDBOOL_H #define _GL_STDBOOL_H diff --git a/lib/stddef.in.h b/lib/stddef.in.h index 4c53e6455..42290d448 100644 --- a/lib/stddef.in.h +++ b/lib/stddef.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2009-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Eric Blake. */ =20 diff --git a/lib/stdint.in.h b/lib/stdint.in.h index a98f1c8cf..85c5418f1 100644 --- a/lib/stdint.in.h +++ b/lib/stdint.in.h @@ -2,18 +2,18 @@ Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* * ISO C 99 for platforms that lack it. @@ -85,7 +85,7 @@ =20 /* Override WINT_MIN and WINT_MAX if gnulib's or over= rides wint_t. */ -#if @GNULIB_OVERRIDES_WINT_T@ +#if @GNULIBHEADERS_OVERRIDE_WINT_T@ # undef WINT_MIN # undef WINT_MAX # define WINT_MIN 0x0U @@ -598,7 +598,7 @@ typedef int _verify_intmax_size[sizeof (intmax_t) =3D= =3D sizeof (uintmax_t) /* wint_t limits */ /* If gnulib's or overrides wint_t, @WINT_T_SUFFIX@ i= s not accurate, therefore use the definitions from above. */ -# if !@GNULIB_OVERRIDES_WINT_T@ +# if !@GNULIBHEADERS_OVERRIDE_WINT_T@ # undef WINT_MIN # undef WINT_MAX # if @HAVE_SIGNED_WINT_T@ diff --git a/lib/stdio.in.h b/lib/stdio.in.h index 6e10c742e..20ba488a4 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2004, 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ @@ -242,7 +242,7 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX co= mpliant - " _GL_CXXALIAS_MDA (fcloseall, int, (void)); # else # if @HAVE_DECL_FCLOSEALL@ -# if defined __FreeBSD__ +# if defined __FreeBSD__ || defined __DragonFly__ _GL_CXXALIAS_SYS (fcloseall, void, (void)); # else _GL_CXXALIAS_SYS (fcloseall, int, (void)); @@ -1257,6 +1257,7 @@ _GL_CXXALIASWARN (scanf); # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define snprintf rpl_snprintf # endif +# define GNULIB_overrides_snprintf 1 _GL_FUNCDECL_RPL (snprintf, int, (char *restrict str, size_t size, const char *restrict format, ...) @@ -1302,6 +1303,7 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define sprintf rpl_sprintf # endif +# define GNULIB_overrides_sprintf 1 _GL_FUNCDECL_RPL (sprintf, int, (char *restrict str, const char *restrict format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) @@ -1369,6 +1371,7 @@ _GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on m= ingw - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define asprintf rpl_asprintf # endif +# define GNULIB_overrides_asprintf _GL_FUNCDECL_RPL (asprintf, int, (char **result, const char *format, ...) _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) @@ -1390,6 +1393,7 @@ _GL_CXXALIASWARN (asprintf); # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vasprintf rpl_vasprintf # endif +# define GNULIB_overrides_vasprintf 1 _GL_FUNCDECL_RPL (vasprintf, int, (char **result, const char *format, va_list args) _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) @@ -1573,6 +1577,7 @@ _GL_CXXALIASWARN (vscanf); # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsnprintf rpl_vsnprintf # endif +# define GNULIB_overrides_vsnprintf 1 _GL_FUNCDECL_RPL (vsnprintf, int, (char *restrict str, size_t size, const char *restrict format, va_list args) @@ -1609,6 +1614,7 @@ _GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable = - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define vsprintf rpl_vsprintf # endif +# define GNULIB_overrides_vsprintf 1 _GL_FUNCDECL_RPL (vsprintf, int, (char *restrict str, const char *restrict format, va_list args) diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index 7e012621d..652062d94 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -2,12 +2,12 @@ =20 Copyright (C) 1995, 2001-2004, 2006-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -1032,12 +1032,23 @@ _GL_WARN_ON_USE (realloc, "realloc is not POSIX com= pliant everywhere - " =20 =20 #if @GNULIB_REALLOCARRAY@ -# if ! @HAVE_REALLOCARRAY@ +# if @REPLACE_REALLOCARRAY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef reallocarray +# define reallocarray rpl_reallocarray +# endif +_GL_FUNCDECL_RPL (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +_GL_CXXALIAS_RPL (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +# else +# if ! @HAVE_REALLOCARRAY@ _GL_FUNCDECL_SYS (reallocarray, void *, (void *ptr, size_t nmemb, size_t size)); -# endif +# endif _GL_CXXALIAS_SYS (reallocarray, void *, (void *ptr, size_t nmemb, size_t size)); +# endif _GL_CXXALIASWARN (reallocarray); #elif defined GNULIB_POSIXCHECK # undef reallocarray diff --git a/lib/strdup.c b/lib/strdup.c index 2a3704900..e5d4d75c8 100644 --- a/lib/strdup.c +++ b/lib/strdup.c @@ -3,18 +3,18 @@ =20 This file is part of the GNU C Library. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _LIBC # include diff --git a/lib/streq.h b/lib/streq.h index 2d9d4c2c6..adabd158e 100644 --- a/lib/streq.h +++ b/lib/streq.h @@ -1,15 +1,15 @@ /* Optimized string comparison. Copyright (C) 2001-2002, 2007, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . = */ diff --git a/lib/strftime.h b/lib/strftime.h index 645e8c768..790a80ed8 100644 --- a/lib/strftime.h +++ b/lib/strftime.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2002, 2004, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/striconveh.c b/lib/striconveh.c index 82f6467ba..78a5e0296 100644 --- a/lib/striconveh.c +++ b/lib/striconveh.c @@ -2,12 +2,12 @@ Copyright (C) 2001-2021 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/striconveh.h b/lib/striconveh.h index c9dff1e69..bd8e0fea0 100644 --- a/lib/striconveh.h +++ b/lib/striconveh.h @@ -2,12 +2,12 @@ Copyright (C) 2001-2007, 2009-2021 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/string.in.h b/lib/string.in.h index 1292e29a7..cb964bc8d 100644 --- a/lib/string.in.h +++ b/lib/string.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 1995-1996, 2001-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ @@ -446,7 +446,7 @@ _GL_WARN_ON_USE (strdup, "strdup is unportable - " #elif @GNULIB_MDA_STRDUP@ /* On native Windows, map 'creat' to '_creat', so that -loldnames is not required. In C++ with GNULIB_NAMESPACE, avoid differences between - platforms by defining GNULIB_NAMESPACE::creat always. */ + platforms by defining GNULIB_NAMESPACE::strdup always. */ # if defined _WIN32 && !defined __CYGWIN__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strdup diff --git a/lib/stripslash.c b/lib/stripslash.c index b0797959f..99bfbe66b 100644 --- a/lib/stripslash.c +++ b/lib/stripslash.c @@ -3,12 +3,12 @@ Copyright (C) 1990, 2001, 2003-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/sys-limits.h b/lib/sys-limits.h index 1856e7f82..2d9784d1b 100644 --- a/lib/sys-limits.h +++ b/lib/sys-limits.h @@ -2,18 +2,18 @@ =20 Copyright 2018-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _GL_SYS_LIMITS_H #define _GL_SYS_LIMITS_H diff --git a/lib/sys_file.in.h b/lib/sys_file.in.h index e18594fda..41660822b 100644 --- a/lib/sys_file.in.h +++ b/lib/sys_file.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Richard W.M. Jones. */ =20 diff --git a/lib/sys_random.in.h b/lib/sys_random.in.h index 1a479e967..1abd6c544 100644 --- a/lib/sys_random.in.h +++ b/lib/sys_random.in.h @@ -1,18 +1,18 @@ /* Substitute for . Copyright (C) 2020-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 # if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h index d82c5d18a..f8ef648d4 100644 --- a/lib/sys_select.in.h +++ b/lib/sys_select.in.h @@ -1,18 +1,18 @@ /* Substitute for . Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 # if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ diff --git a/lib/sys_socket.c b/lib/sys_socket.c index 3b261da03..d90b32c97 100644 --- a/lib/sys_socket.c +++ b/lib/sys_socket.c @@ -1,4 +1,22 @@ +/* Inline functions for . + + Copyright (C) 2012-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + #include + #define _GL_SYS_SOCKET_INLINE _GL_EXTERN_INLINE #include "sys/socket.h" typedef int dummy; diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h index c0baa71c0..0a2c57db5 100644 --- a/lib/sys_socket.in.h +++ b/lib/sys_socket.in.h @@ -3,18 +3,18 @@ Copyright (C) 2005-2021 Free Software Foundation, Inc. Written by Simon Josefsson. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* This file is supposed to be used on platforms that lack , on platforms where cannot be included standalone, and on diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h index 125aca0d3..babe3dba3 100644 --- a/lib/sys_stat.in.h +++ b/lib/sys_stat.in.h @@ -1,18 +1,18 @@ /* Provide a more complete sys/stat.h header file. Copyright (C) 2005-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ =20 diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h index f310ca5e8..8035fbe7e 100644 --- a/lib/sys_time.in.h +++ b/lib/sys_time.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Paul Eggert. */ =20 diff --git a/lib/sys_times.in.h b/lib/sys_times.in.h index 3d96200a7..85b728f00 100644 --- a/lib/sys_times.in.h +++ b/lib/sys_times.in.h @@ -1,18 +1,18 @@ /* Provide a sys/times.h header file. Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Simon Josefsson , 2008. */ =20 diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h index 26e7db73f..2079d72ef 100644 --- a/lib/sys_types.in.h +++ b/lib/sys_types.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ diff --git a/lib/sys_uio.in.h b/lib/sys_uio.in.h index 1941360cc..507ab011b 100644 --- a/lib/sys_uio.in.h +++ b/lib/sys_uio.in.h @@ -1,18 +1,18 @@ /* Substitute for . Copyright (C) 2011-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 # if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ diff --git a/lib/tempname.h b/lib/tempname.h index c91a58d83..795bb4976 100644 --- a/lib/tempname.h +++ b/lib/tempname.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/time-internal.h b/lib/time-internal.h index b86b7a012..6bbd0a727 100644 --- a/lib/time-internal.h +++ b/lib/time-internal.h @@ -2,18 +2,18 @@ =20 Copyright 2015-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Paul Eggert. */ =20 diff --git a/lib/time.in.h b/lib/time.in.h index cbd2bbaf7..a73fe59cb 100644 --- a/lib/time.in.h +++ b/lib/time.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #if __GNUC__ >=3D 3 @PRAGMA_SYSTEM_HEADER@ diff --git a/lib/time_r.c b/lib/time_r.c index 2510c4eb2..88d3c1c76 100644 --- a/lib/time_r.c +++ b/lib/time_r.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2003, 2006-2007, 2010-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Paul Eggert. */ =20 diff --git a/lib/time_rz.c b/lib/time_rz.c index d32cce796..e7722447c 100644 --- a/lib/time_rz.c +++ b/lib/time_rz.c @@ -2,18 +2,18 @@ =20 Copyright 2015-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* Written by Paul Eggert. */ =20 diff --git a/lib/times.c b/lib/times.c index b8afa6092..72b852e58 100644 --- a/lib/times.c +++ b/lib/times.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Simon Josefsson , 2008. */ =20 diff --git a/lib/trunc.c b/lib/trunc.c index cf2adac4b..1c9c420af 100644 --- a/lib/trunc.c +++ b/lib/trunc.c @@ -1,12 +1,12 @@ /* Round towards zero. Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/tzset.c b/lib/tzset.c index 1f423c474..7fd4936b2 100644 --- a/lib/tzset.c +++ b/lib/tzset.c @@ -2,18 +2,18 @@ =20 Copyright (C) 2001-2003, 2005-2007, 2009-2021 Free Software Foundation,= Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* written by Jim Meyering */ =20 diff --git a/lib/unistd.c b/lib/unistd.c index 72bad1c05..076345602 100644 --- a/lib/unistd.c +++ b/lib/unistd.c @@ -1,4 +1,22 @@ +/* Inline functions for . + + Copyright (C) 2012-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + #include + #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE #include "unistd.h" typedef int dummy; diff --git a/lib/unistd.in.h b/lib/unistd.in.h index 5914fd5ae..73c882f97 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -1,18 +1,18 @@ /* Substitute for and wrapper around . Copyright (C) 2003-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _@GUARD_PREFIX@_UNISTD_H =20 @@ -1521,6 +1521,7 @@ _GL_WARN_ON_USE (group_member, "group_member is unpor= table - " # undef isatty # define isatty rpl_isatty # endif +# define GNULIB_defined_isatty 1 _GL_FUNCDECL_RPL (isatty, int, (int fd)); _GL_CXXALIAS_RPL (isatty, int, (int fd)); # elif defined _WIN32 && !defined __CYGWIN__ @@ -2027,15 +2028,23 @@ _GL_WARN_ON_USE (sleep, "sleep is unportable - " #if @GNULIB_MDA_SWAB@ /* On native Windows, map 'swab' to '_swab', so that -loldnames is not required. In C++ with GNULIB_NAMESPACE, avoid differences between - platforms by defining GNULIB_NAMESPACE::creat always. */ + platforms by defining GNULIB_NAMESPACE::swab always. */ # if defined _WIN32 && !defined __CYGWIN__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef swab # define swab _swab # endif -_GL_CXXALIAS_MDA (swab, void, (char *from, char *to, int n)); +/* Need to cast, because in old mingw the arguments are + (const char *from, char *to, size_t n). */ +_GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n)); # else +# if defined __hpux /* HP-UX */ +_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n)); +# elif defined __sun && !defined _XPG4 /* Solaris */ +_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n)); +# else _GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n)); +# endif # endif _GL_CXXALIASWARN (swab); #endif diff --git a/lib/unsetenv.c b/lib/unsetenv.c index 005fb1f42..b2e910e39 100644 --- a/lib/unsetenv.c +++ b/lib/unsetenv.c @@ -1,12 +1,12 @@ /* Copyright (C) 1992, 1995-2002, 2005-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c index 8d5100695..d9b669d15 100644 --- a/lib/vasnprintf.c +++ b/lib/vasnprintf.c @@ -1,18 +1,18 @@ /* vsprintf with automatic memory allocation. Copyright (C) 1999, 2002-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 /* This file can be parametrized with the following macros: VASNPRINTF The name of the function being defined. @@ -60,10 +60,16 @@ #ifndef VASNPRINTF # include #endif -#ifndef IN_LIBINTL -# include + +/* As of GCC 11.2.1, gcc -Wanalyzer-too-complex reports that main's + use of CHECK macros expands to code that is too complicated for gcc + -fanalyzer. Suppress the resulting bogus warnings. */ +#if 10 <=3D __GNUC__ +# pragma GCC diagnostic ignored "-Wanalyzer-null-argument" #endif =20 +#include + /* Specification. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION @@ -1924,7 +1930,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, =20 /* Ensures that allocated >=3D needed. Aborts through a jump to out_of_memory if needed is SIZE_MAX or otherwise too big. */ -#define ENSURE_ALLOCATION(needed) \ +#define ENSURE_ALLOCATION_ELSE(needed, oom_statement) \ if ((needed) > allocated) = \ { = \ size_t memory_size; = \ @@ -1935,17 +1941,19 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, allocated =3D (needed); = \ memory_size =3D xtimes (allocated, sizeof (DCHAR_T)); = \ if (size_overflow_p (memory_size)) = \ - goto out_of_memory; = \ + oom_statement = \ if (result =3D=3D resultbuf || result =3D=3D NULL) = \ memory =3D (DCHAR_T *) malloc (memory_size); = \ else = \ memory =3D (DCHAR_T *) realloc (result, memory_size); = \ if (memory =3D=3D NULL) = \ - goto out_of_memory; = \ + oom_statement = \ if (result =3D=3D resultbuf && length > 0) = \ DCHAR_CPY (memory, result, length); = \ result =3D memory; = \ } +#define ENSURE_ALLOCATION(needed) \ + ENSURE_ALLOCATION_ELSE((needed), goto out_of_memory; ) =20 for (cp =3D format, i =3D 0, dp =3D &d.dir[0]; ; cp =3D dp->dir_end, i= ++, dp++) { @@ -2193,7 +2201,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } if (converted !=3D result + length) { - ENSURE_ALLOCATION (xsum (length, converted_len= )); + ENSURE_ALLOCATION_ELSE (xsum (length, converte= d_len), + { free (converted); go= to out_of_memory; }); DCHAR_CPY (result + length, converted, convert= ed_len); free (converted); } @@ -2317,7 +2326,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } if (converted !=3D result + length) { - ENSURE_ALLOCATION (xsum (length, converted_len= )); + ENSURE_ALLOCATION_ELSE (xsum (length, converte= d_len), + { free (converted); go= to out_of_memory; }); DCHAR_CPY (result + length, converted, convert= ed_len); free (converted); } @@ -2441,7 +2451,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } if (converted !=3D result + length) { - ENSURE_ALLOCATION (xsum (length, converted_len= )); + ENSURE_ALLOCATION_ELSE (xsum (length, converte= d_len), + { free (converted); go= to out_of_memory; }); DCHAR_CPY (result + length, converted, convert= ed_len); free (converted); } @@ -2944,7 +2955,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } } # else - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); + ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), + { free (tmpdst); goto out_of_mem= ory; }); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); length +=3D tmpdst_len; @@ -3147,7 +3159,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, } } # else - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); + ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), + { free (tmpdst); goto out_of_mem= ory; }); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); length +=3D tmpdst_len; @@ -5598,7 +5611,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, CLEANUP (); return NULL; } - ENSURE_ALLOCATION (xsum (length, tmpdst_len)); + ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), + { free (tmpdst); goto out_= of_memory; }); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); count =3D tmpdst_len; diff --git a/lib/vasnprintf.h b/lib/vasnprintf.h index aaed8599f..9b02cdf8a 100644 --- a/lib/vasnprintf.h +++ b/lib/vasnprintf.h @@ -1,18 +1,18 @@ /* vsprintf with automatic memory allocation. Copyright (C) 2002-2004, 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifndef _VASNPRINTF_H #define _VASNPRINTF_H diff --git a/lib/verify.h b/lib/verify.h index d1b499579..a8ca59b09 100644 --- a/lib/verify.h +++ b/lib/verify.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -25,7 +25,7 @@ works as per C11. This is supported by GCC 4.6.0+ and by clang 4+. =20 Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as - per C2X. This is supported by GCC 9.1+. + per C2x. This is supported by GCC 9.1+. =20 Support compilers claiming conformance to the relevant standard, and also support GCC when not pedantic. If we were willing to slow @@ -202,7 +202,7 @@ template =20 This macro requires three or more arguments but uses at most the first two, so that the _Static_assert macro optionally defined below supports - both the C11 two-argument syntax and the C2X one-argument syntax. + both the C11 two-argument syntax and the C2x one-argument syntax. =20 Unfortunately, unlike C11, this implementation must appear as an ordinary declaration, and cannot appear inside struct { ... }. */ diff --git a/lib/vsnprintf.c b/lib/vsnprintf.c index c94c5cb2d..4a0a3dc6a 100644 --- a/lib/vsnprintf.c +++ b/lib/vsnprintf.c @@ -2,18 +2,18 @@ Copyright (C) 2004, 2006-2021 Free Software Foundation, Inc. Written by Simon Josefsson and Yoann Vandoorselaere . =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 - You should have received a copy of the GNU Lesser General Public Licens= e along - with this program; if not, see . */ + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ =20 #ifdef HAVE_CONFIG_H # include diff --git a/lib/w32sock.h b/lib/w32sock.h index 9b6a2314b..635a1b228 100644 --- a/lib/w32sock.h +++ b/lib/w32sock.h @@ -2,12 +2,12 @@ =20 Copyright (C) 2008-2021 Free Software Foundation, Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/wchar.in.h b/lib/wchar.in.h index fe4171c54..919a5a37e 100644 --- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2007-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Eric Blake. */ =20 @@ -111,7 +111,7 @@ /* mingw and MSVC define wint_t as 'unsigned short' in or . This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be "unchanged by default argument promotions". Override it= . */ -# if @GNULIB_OVERRIDES_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ # if !GNULIB_defined_wint_t # if @HAVE_CRTDEFS_H@ # include diff --git a/lib/wcrtomb.c b/lib/wcrtomb.c index 76d21ae62..5c9fd795b 100644 --- a/lib/wcrtomb.c +++ b/lib/wcrtomb.c @@ -2,12 +2,12 @@ Copyright (C) 2008-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2008. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/wctype-h.c b/lib/wctype-h.c index bb5f847e3..150221d6d 100644 --- a/lib/wctype-h.c +++ b/lib/wctype-h.c @@ -1,4 +1,23 @@ +/* Inline functions for . + + Copyright (C) 2012-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + /* Normally this would be wctype.c, but that name's already taken. */ + #include + #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE #include "wctype.h" diff --git a/lib/wctype.in.h b/lib/wctype.in.h index 6f0cd21a0..652d811ea 100644 --- a/lib/wctype.in.h +++ b/lib/wctype.in.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2006-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Bruno Haible and Paul Eggert. */ =20 @@ -103,7 +103,7 @@ _GL_INLINE_HEADER_BEGIN /* mingw and MSVC define wint_t as 'unsigned short' in or . This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be "unchanged by default argument promotions". Override it= . */ -# if @GNULIB_OVERRIDES_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ # if !GNULIB_defined_wint_t # if @HAVE_CRTDEFS_H@ # include @@ -132,7 +132,7 @@ typedef unsigned int rpl_wint_t; same way, or not at all. */ # if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ =20 -# if @GNULIB_OVERRIDES_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ =20 _GL_WCTYPE_INLINE int rpl_iswalnum (wint_t wc) @@ -496,7 +496,7 @@ _GL_FUNCDECL_RPL (iswxdigit, int, (wint_t wc)); =20 # endif =20 -# if defined __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ +# if defined __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ =20 /* On native Windows, wchar_t is uint16_t, and wint_t is uint32_t. The functions towlower and towupper are implemented in the MSVCRT libra= ry @@ -529,7 +529,7 @@ rpl_towupper (wint_t wc) # define towupper rpl_towupper # endif =20 -# endif /* __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ */ +# endif /* __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ */ =20 # define GNULIB_defined_wctype_functions 1 #endif @@ -646,7 +646,7 @@ _GL_WARN_ON_USE (wctype, "wctype is unportable - " The argument WC must be either a wchar_t value or WEOF. The argument DESC must have been returned by the wctype() function. */ #if @GNULIB_ISWCTYPE@ -# if @GNULIB_OVERRIDES_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef iswctype # define iswctype rpl_iswctype diff --git a/lib/windows-initguard.h b/lib/windows-initguard.h index e84051e1e..7999b2339 100644 --- a/lib/windows-initguard.h +++ b/lib/windows-initguard.h @@ -1,18 +1,18 @@ /* Init guards, somewhat like spinlocks (native Windows implementation). Copyright (C) 2005-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 /* Written by Bruno Haible , 2005. Based on GCC's gthr-win32.h. */ diff --git a/lib/write.c b/lib/write.c index bc53d4dcf..614cdc62f 100644 --- a/lib/write.c +++ b/lib/write.c @@ -2,12 +2,12 @@ Copyright (C) 2008-2021 Free Software Foundation, Inc. Written by Bruno Haible , 2008. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. diff --git a/lib/xalloc-oversized.h b/lib/xalloc-oversized.h index d25596932..4184f3395 100644 --- a/lib/xalloc-oversized.h +++ b/lib/xalloc-oversized.h @@ -2,12 +2,12 @@ =20 Copyright (C) 1990-2000, 2003-2004, 2006-2021 Free Software Foundation,= Inc. =20 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. @@ -22,33 +22,38 @@ #include =20 /* True if N * S does not fit into both ptrdiff_t and size_t. - S must be positive and N must be nonnegative. + N and S should be nonnegative and free of side effects. This expands to a constant expression if N and S are both constants. By gnulib convention, SIZE_MAX represents overflow in size_t calculations, so the conservative size_t-based dividend to use here is SIZE_MAX - 1. */ #define __xalloc_oversized(n, s) \ - ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < = (n)) + ((s) !=3D 0 \ + && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s= ) \ + < (n))) =20 -#if PTRDIFF_MAX < SIZE_MAX -typedef ptrdiff_t xalloc_count_t; -#else -typedef size_t xalloc_count_t; -#endif +/* Return 1 if and only if an array of N objects, each of size S, + cannot exist reliably because its total size in bytes would exceed + MIN (PTRDIFF_MAX, SIZE_MAX - 1). + + N and S should be nonnegative and free of side effects. + + Warning: (xalloc_oversized (N, S) ? NULL : malloc (N * S)) can + misbehave if N and S are both narrower than ptrdiff_t and size_t, + and can be rewritten as (xalloc_oversized (N, S) ? NULL + : malloc (N * (size_t) S)). =20 -/* Return 1 if an array of N objects, each of size S, cannot exist reliably - because its total size in bytes exceeds MIN (PTRDIFF_MAX, SIZE_MAX). - N must be nonnegative, S must be positive, and either N or S should be - of type ptrdiff_t or size_t or wider. This is a macro, not a function, - so that it works even if an argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX= ). */ -#if 7 <=3D __GNUC__ && !defined __clang__ + This is a macro, not a function, so that it works even if an + argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX). */ +#if 7 <=3D __GNUC__ && !defined __clang__ && PTRDIFF_MAX < SIZE_MAX # define xalloc_oversized(n, s) \ - __builtin_mul_overflow_p (n, s, (xalloc_count_t) 1) -#elif 5 <=3D __GNUC__ && !defined __ICC && !__STRICT_ANSI__ + __builtin_mul_overflow_p (n, s, (ptrdiff_t) 1) +#elif (5 <=3D __GNUC__ && !defined __ICC && !__STRICT_ANSI__ \ + && PTRDIFF_MAX < SIZE_MAX) # define xalloc_oversized(n, s) \ (__builtin_constant_p (n) && __builtin_constant_p (s) \ ? __xalloc_oversized (n, s) \ - : ({ xalloc_count_t __xalloc_count; \ + : ({ ptrdiff_t __xalloc_count; \ __builtin_mul_overflow (n, s, &__xalloc_count); })) =20 /* Other compilers use integer division; this may be slower but is diff --git a/lib/xsize.c b/lib/xsize.c index 4b4914c2c..b3d73a2d8 100644 --- a/lib/xsize.c +++ b/lib/xsize.c @@ -1,3 +1,21 @@ +/* Checked size_t computations. + + Copyright (C) 2012-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . = */ + #include + #define XSIZE_INLINE _GL_EXTERN_INLINE #include "xsize.h" diff --git a/lib/xsize.h b/lib/xsize.h index d4d7b1c7c..91fa877ce 100644 --- a/lib/xsize.h +++ b/lib/xsize.h @@ -2,18 +2,18 @@ =20 Copyright (C) 2003, 2008-2021 Free Software Foundation, Inc. =20 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as publishe= d by - the Free Software Foundation; either version 2, or (at your option) - any later version. + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. =20 - This program is distributed in the hope that it will be useful, + This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. =20 You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . = */ + along with this program. If not, see . = */ =20 #ifndef _XSIZE_H #define _XSIZE_H diff --git a/m4/arpa_inet_h.m4 b/m4/arpa_inet_h.m4 index c4e386d1f..a3ba25624 100644 --- a/m4/arpa_inet_h.m4 +++ b/m4/arpa_inet_h.m4 @@ -1,4 +1,4 @@ -# arpa_inet_h.m4 serial 14 +# arpa_inet_h.m4 serial 17 dnl Copyright (C) 2006, 2008-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice= is preserved. =20 dnl Written by Simon Josefsson and Bruno Haible =20 -AC_DEFUN([gl_HEADER_ARPA_INET], +AC_DEFUN_ONCE([gl_ARPA_INET_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) =20 AC_CHECK_HEADERS_ONCE([arpa/inet.h]) @@ -40,17 +40,32 @@ AC_DEFUN([gl_HEADER_ARPA_INET], ]], [inet_ntop inet_pton]) ]) =20 +# gl_ARPA_INET_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_ARPA_INET_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_ARPA_INET_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAUL= TS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_NTOP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_PTON]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFA= ULTS]) + AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) +]) + AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], [ - GNULIB_INET_NTOP=3D0; AC_SUBST([GNULIB_INET_NTOP]) - GNULIB_INET_PTON=3D0; AC_SUBST([GNULIB_INET_PTON]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_INET_NTOP=3D1; AC_SUBST([HAVE_DECL_INET_NTOP]) HAVE_DECL_INET_PTON=3D1; AC_SUBST([HAVE_DECL_INET_PTON]) diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4 index 6d8614258..17e2a20c5 100644 --- a/m4/dirent_h.m4 +++ b/m4/dirent_h.m4 @@ -1,4 +1,4 @@ -# dirent_h.m4 serial 16 +# dirent_h.m4 serial 19 dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice= is preserved. =20 dnl Written by Bruno Haible. =20 -AC_DEFUN([gl_DIRENT_H], +AC_DEFUN_ONCE([gl_DIRENT_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) =20 dnl is always overridden, because of GNULIB_POSIXCHECK. @@ -27,26 +27,41 @@ AC_DEFUN([gl_DIRENT_H], ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scan= dir]) ]) =20 +# gl_DIRENT_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_DIRENT_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_DIRENT_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_DIRENT_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_DIRENT_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REWINDDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSEDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DIRFD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPENDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALPHASORT]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_DIRENT_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_DIRENT_H_DEFAULTS]) +]) + AC_DEFUN([gl_DIRENT_H_DEFAULTS], [ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR - GNULIB_OPENDIR=3D0; AC_SUBST([GNULIB_OPENDIR]) - GNULIB_READDIR=3D0; AC_SUBST([GNULIB_READDIR]) - GNULIB_REWINDDIR=3D0; AC_SUBST([GNULIB_REWINDDIR]) - GNULIB_CLOSEDIR=3D0; AC_SUBST([GNULIB_CLOSEDIR]) - GNULIB_DIRFD=3D0; AC_SUBST([GNULIB_DIRFD]) - GNULIB_FDOPENDIR=3D0; AC_SUBST([GNULIB_FDOPENDIR]) - GNULIB_SCANDIR=3D0; AC_SUBST([GNULIB_SCANDIR]) - GNULIB_ALPHASORT=3D0; AC_SUBST([GNULIB_ALPHASORT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_OPENDIR=3D1; AC_SUBST([HAVE_OPENDIR]) HAVE_READDIR=3D1; AC_SUBST([HAVE_READDIR]) diff --git a/m4/environ.m4 b/m4/environ.m4 index d97177086..ae5329108 100644 --- a/m4/environ.m4 +++ b/m4/environ.m4 @@ -1,4 +1,4 @@ -# environ.m4 serial 7 +# environ.m4 serial 8 dnl Copyright (C) 2001-2004, 2006-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -33,7 +33,8 @@ AC_DEFUN([gt_CHECK_VAR_DECL], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[$1 - extern struct { int foo; } $2;]], + typedef struct { int foo; } foo_t; + extern foo_t $2;]], [[$2.foo =3D 1;]])], [gt_cv_var=3Dno], [gt_cv_var=3Dyes])]) diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 index e63a82f10..aba44735d 100644 --- a/m4/fcntl_h.m4 +++ b/m4/fcntl_h.m4 @@ -1,4 +1,4 @@ -# serial 17 +# serial 20 # Configure fcntl.h. dnl Copyright (C) 2006-2007, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 dnl Written by Paul Eggert. =20 -AC_DEFUN([gl_FCNTL_H], +AC_DEFUN_ONCE([gl_FCNTL_H], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_REQUIRE([gl_FCNTL_O_FLAGS]) @@ -26,25 +26,40 @@ AC_DEFUN([gl_FCNTL_H], ]], [fcntl openat]) ]) =20 +# gl_FCNTL_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_FCNTL_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_FCNTL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS],= [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CREAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCNTL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CREAT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_OPEN], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS= ]) + AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) +]) + AC_DEFUN([gl_FCNTL_H_DEFAULTS], [ - GNULIB_CREAT=3D0; AC_SUBST([GNULIB_CREAT]) - GNULIB_FCNTL=3D0; AC_SUBST([GNULIB_FCNTL]) - GNULIB_NONBLOCKING=3D0; AC_SUBST([GNULIB_NONBLOCKING]) - GNULIB_OPEN=3D0; AC_SUBST([GNULIB_OPEN]) - GNULIB_OPENAT=3D0; AC_SUBST([GNULIB_OPENAT]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_CREAT=3D1; AC_SUBST([GNULIB_MDA_CREAT]) - GNULIB_MDA_OPEN=3D1; AC_SUBST([GNULIB_MDA_OPEN]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCNTL=3D1; AC_SUBST([HAVE_FCNTL]) HAVE_OPENAT=3D1; AC_SUBST([HAVE_OPENAT]) diff --git a/m4/flock.m4 b/m4/flock.m4 index eb46642d8..e1e5fe030 100644 --- a/m4/flock.m4 +++ b/m4/flock.m4 @@ -1,4 +1,4 @@ -# flock.m4 serial 3 +# flock.m4 serial 4 dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 AC_DEFUN([gl_FUNC_FLOCK], [ - AC_REQUIRE([gl_HEADER_SYS_FILE_H_DEFAULTS]) + AC_REQUIRE([gl_SYS_FILE_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([flock]) if test $ac_cv_func_flock =3D no; then HAVE_FLOCK=3D0 diff --git a/m4/fstat.m4 b/m4/fstat.m4 index 3b5b238fa..cdaca80da 100644 --- a/m4/fstat.m4 +++ b/m4/fstat.m4 @@ -1,4 +1,4 @@ -# fstat.m4 serial 7 +# fstat.m4 serial 8 dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,7 @@ AC_DEFUN([gl_FUNC_FSTAT], =20 # Prerequisites of lib/fstat.c and lib/stat-w32.c. AC_DEFUN([gl_PREREQ_FSTAT], [ - AC_REQUIRE([gl_HEADER_SYS_STAT_H]) + AC_REQUIRE([gl_SYS_STAT_H]) AC_REQUIRE([gl_PREREQ_STAT_W32]) : ]) diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4 index 97889a8b5..3f8e04f9b 100644 --- a/m4/getaddrinfo.m4 +++ b/m4/getaddrinfo.m4 @@ -1,4 +1,4 @@ -# getaddrinfo.m4 serial 33 +# getaddrinfo.m4 serial 34 dnl Copyright (C) 2004-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,8 +6,8 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 AC_DEFUN([gl_GETADDRINFO], [ - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOC= K2_H - AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H + AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H + AC_REQUIRE([gl_NETDB_H])dnl for HAVE_NETDB_H GETADDRINFO_LIB=3D gai_saved_LIBS=3D"$LIBS" =20 @@ -156,13 +156,13 @@ const char *gai_strerror(int);]])], # Prerequisites of lib/netdb.in.h and lib/getaddrinfo.c. AC_DEFUN([gl_PREREQ_GETADDRINFO], [ AC_REQUIRE([gl_NETDB_H_DEFAULTS]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOC= K2_H + AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB AC_REQUIRE([gl_FUNC_INET_NTOP]) dnl for INET_NTOP_LIB AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_SOCKET_FAMILIES]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) =20 dnl Including sys/socket.h is wrong for Windows, but Windows does not diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4 index 9e6b41b4a..841bd6140 100644 --- a/m4/gnulib-cache.m4 +++ b/m4/gnulib-cache.m4 @@ -242,7 +242,7 @@ gl_MODULES([ warnings wchar ]) -gl_AVOID([ lock unistr/base unistr/u8-mbtouc unistr/u8-mbtouc-unsafe unist= r/u8-mbtoucr unistr/u8-prev unistr/u8-uctomb unitypes]) +gl_AVOID([lock unistr/base unistr/u8-mbtouc unistr/u8-mbtouc-unsafe unistr= /u8-mbtoucr unistr/u8-prev unistr/u8-uctomb unitypes]) gl_SOURCE_BASE([lib]) gl_M4_BASE([m4]) gl_PO_BASE([]) diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index f2eff10de..ddbc7b773 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,4 +1,4 @@ -# gnulib-common.m4 serial 63 +# gnulib-common.m4 serial 66 dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -103,6 +103,12 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) #endif =20 +#ifdef __has_c_attribute +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + ]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. [ #if _GL_HAS_ATTRIBUTE (alloc_size) @@ -142,7 +148,20 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTRIBUTE_CONST #endif =20 -#if 201710L < __STDC_VERSION__ +/* _GL_ATTRIBUTE_DEALLOC (F, I) is for functions returning pointers + that can be freed by passing them as the Ith argument to the + function F. _GL_ATTRIBUTE_DEALLOC_FREE is for functions that + return pointers that can be freed via 'free'; it can be used + only after including stdlib.h. These macros cannot be used on + inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +#define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) + +#if _GL_HAS_C_ATTRIBUTE (deprecated) # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] #elif _GL_HAS_ATTRIBUTE (deprecated) # define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) @@ -168,7 +187,7 @@ AC_DEFUN([gl_COMMON_BODY], [ #endif =20 /* FALLTHROUGH is special, because it always expands to something. */ -#if 201710L < __STDC_VERSION__ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] #elif _GL_HAS_ATTRIBUTE (fallthrough) # define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) @@ -195,15 +214,12 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTRIBUTE_MAY_ALIAS #endif =20 -#if 201710L < __STDC_VERSION__ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#elif _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__)) #else -# define _GL_ATTRIBUTE_MAYBE_UNUSED +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED #endif /* Earlier spellings of this macro. */ -#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED =20 #if _GL_HAS_ATTRIBUTE (malloc) @@ -212,7 +228,7 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTRIBUTE_MALLOC #endif =20 -#if 201710L < __STDC_VERSION__ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] #elif _GL_HAS_ATTRIBUTE (warn_unused_result) # define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) @@ -270,11 +286,19 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTRIBUTE_SENTINEL(pos) #endif =20 +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif +/* Earlier spellings of this macro. */ +#define _GL_UNUSED _GL_ATTRIBUTE_UNUSED + ]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. [ /* To support C++ as well as C, use _GL_UNUSED_LABEL with trailing ';'. */ #if !defined __cplusplus || _GL_GNUC_PREREQ (4, 5) -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_MAYBE_UNUSED +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED #else # define _GL_UNUSED_LABEL #endif @@ -357,6 +381,16 @@ AC_DEFUN([gl_COMMON_BODY], [ export LIBC_FATAL_STDERR_ ]) =20 +# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename]) +# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue]) +# initializes the shell variable that indicates the presence of the given = module +# as a C preprocessor expression. +AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], +[ + GL_MODULE_INDICATOR_PREFIX[]_[$1]=3Dm4_if([$2], , [0], [$2]) + AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) +]) + # gl_MODULE_INDICATOR_CONDITION # expands to a C preprocessor expression that evaluates to 1 or 0, dependi= ng # whether a gnulib module that has been requested shall be considered pres= ent @@ -369,9 +403,9 @@ m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ gl_MODULE_INDICATOR_SET_VARIABLE_AUX( - [GNULIB_[]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], + [abcdefghijklmnopqr= stuvwxyz./-], + [ABCDEFGHIJKLMNOPQR= STUVWXYZ___])], [gl_MODULE_INDICATOR_CONDITION]) ]) =20 @@ -656,6 +690,72 @@ AC_DEFUN([gl_CACHE_VAL_SILENT], ]) ]) =20 +# gl_CC_ALLOW_WARNINGS +# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) opti= on +# that reverts a preceding '-Werror' option, if available. +# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), x= lclang +# and empty otherwise. +AC_DEFUN([gl_CC_ALLOW_WARNINGS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([for C compiler option to allow warnings], + [gl_cv_cc_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.c + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.= err]) >/dev/null + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2= >conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlc accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be = ignored." + dnl afterwards. + if test $? =3D 0 && test `wc -l < conftest1.err` =3D `wc -l < conftes= t2.err`; then + gl_cv_cc_wallow=3D'-Wno-error' + else + gl_cv_cc_wallow=3Dnone + fi + rm -f conftest* + ]) + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS=3D'' ;; + *) GL_CFLAG_ALLOW_WARNINGS=3D"$gl_cv_cc_wallow" ;; + esac + AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) +]) + +# gl_CXX_ALLOW_WARNINGS +# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) op= tion +# that reverts a preceding '-Werror' option, if available. +AC_DEFUN([gl_CXX_ALLOW_WARNINGS], +[ + dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. + if test -n "$CXX" && test "$CXX" !=3D no; then + AC_CACHE_CHECK([for C++ compiler option to allow warnings], + [gl_cv_cxx_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.cc + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>con= ftest1.err]) >/dev/null + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c confte= st.cc 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlC accepts = the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will b= e ignored." + dnl afterwards. + if test $? =3D 0 && test `wc -l < conftest1.err` =3D `wc -l < conft= est2.err`; then + gl_cv_cxx_wallow=3D'-Wno-error' + else + gl_cv_cxx_wallow=3Dnone + fi + rm -f conftest* + ]) + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS=3D'' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS=3D"$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS=3D'' + fi + AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) +]) + dnl Expands to some code for use in .c programs that, on native Windows, d= efines dnl the Microsoft deprecated alias function names to the underscore-prefix= ed dnl actual function names. With this macro, these function names are avail= able diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 1290d7589..0ae96ead7 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -142,6 +142,7 @@ AC_DEFUN([gl_EARLY], # Code from module langinfo: # Code from module largefile: AC_REQUIRE([AC_SYS_LARGEFILE]) + AC_REQUIRE([gl_YEAR2038_EARLY]) # Code from module ldexp: # Code from module lib-symbol-versions: # Code from module lib-symbol-visibility: @@ -281,9 +282,11 @@ AC_DEFUN([gl_INIT], m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) m4_pushdef([gl_LIBSOURCES_LIST], []) m4_pushdef([gl_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [gl]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) gl_COMMON gl_source_base=3D'lib' - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([accept]) fi @@ -291,9 +294,10 @@ AC_DEFUN([gl_INIT], gl_FUNC_ACCEPT4 gl_SYS_SOCKET_MODULE_INDICATOR([accept4]) gl_FUNC_ALLOCA - gl_HEADER_ARPA_INET + gl_ARPA_INET_H + gl_ARPA_INET_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([bind]) fi @@ -317,7 +321,7 @@ AC_DEFUN([gl_INIT], AC_LIBOBJ([close]) fi gl_UNISTD_MODULE_INDICATOR([close]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([connect]) fi @@ -328,6 +332,7 @@ AC_DEFUN([gl_INIT], fi gl_MATH_MODULE_INDICATOR([copysign]) gl_DIRENT_H + gl_DIRENT_H_REQUIRE_DEFAULTS gl_FUNC_DIRFD if test $ac_cv_func_dirfd =3D no && test $gl_cv_func_dirfd_macro =3D no \ || test $REPLACE_DIRFD =3D 1; then @@ -347,6 +352,7 @@ AC_DEFUN([gl_INIT], gl_HEADER_ERRNO_H AC_REQUIRE([gl_EXTERN_INLINE]) gl_FCNTL_H + gl_FCNTL_H_REQUIRE_DEFAULTS AC_C_FLEXIBLE_ARRAY_MEMBER gl_FLOAT_H if test $REPLACE_FLOAT_LDBL =3D 1; then @@ -360,7 +366,7 @@ AC_DEFUN([gl_INIT], AC_LIBOBJ([flock]) gl_PREREQ_FLOCK fi - gl_HEADER_SYS_FILE_MODULE_INDICATOR([flock]) + gl_SYS_FILE_MODULE_INDICATOR([flock]) AC_REQUIRE([gl_FUNC_FLOOR]) if test $REPLACE_FLOOR =3D 1; then AC_LIBOBJ([floor]) @@ -409,17 +415,17 @@ AC_DEFUN([gl_INIT], fi gl_UNISTD_MODULE_INDICATOR([getlogin]) AC_REQUIRE([gl_LIB_GETLOGIN]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([getpeername]) fi gl_SYS_SOCKET_MODULE_INDICATOR([getpeername]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([getsockname]) fi gl_SYS_SOCKET_MODULE_INDICATOR([getsockname]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([getsockopt]) fi @@ -439,6 +445,7 @@ AC_DEFUN([gl_INIT], m4_ifdef([gl_ICONV_MODULE_INDICATOR], [gl_ICONV_MODULE_INDICATOR([iconv])]) gl_ICONV_H + gl_ICONV_H_REQUIRE_DEFAULTS gl_FUNC_ICONV_OPEN if test $REPLACE_ICONV_OPEN =3D 1; then AC_LIBOBJ([iconv_open]) @@ -461,6 +468,7 @@ AC_DEFUN([gl_INIT], fi gl_ARPA_INET_MODULE_INDICATOR([inet_pton]) gl_INTTYPES_INCOMPLETE + gl_INTTYPES_H_REQUIRE_DEFAULTS gl_ISFINITE if test $REPLACE_ISFINITE =3D 1; then AC_LIBOBJ([isfinite]) @@ -501,6 +509,7 @@ AC_DEFUN([gl_INIT], fi gl_MATH_MODULE_INDICATOR([isnanl]) gl_LANGINFO_H + gl_LANGINFO_H_REQUIRE_DEFAULTS AC_REQUIRE([gl_LARGEFILE]) gl_FUNC_LDEXP gl_LD_VERSION_SCRIPT @@ -512,7 +521,7 @@ AC_DEFUN([gl_INIT], AC_LIBOBJ([link]) fi gl_UNISTD_MODULE_INDICATOR([link]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([listen]) fi @@ -522,6 +531,7 @@ AC_DEFUN([gl_INIT], LOCALCHARSET_TESTS_ENVIRONMENT=3D AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) gl_LOCALE_H + gl_LOCALE_H_REQUIRE_DEFAULTS gl_FUNC_LOG1P if test $HAVE_LOG1P =3D 0 || test $REPLACE_LOG1P =3D 1; then AC_LIBOBJ([log1p]) @@ -541,15 +551,14 @@ AC_DEFUN([gl_INIT], if test $REPLACE_MALLOC =3D 1; then AC_LIBOBJ([malloc]) fi - gl_MODULE_INDICATOR([malloc-gnu]) - gl_FUNC_MALLOC_POSIX + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) if test $REPLACE_MALLOC =3D 1; then AC_LIBOBJ([malloc]) fi gl_STDLIB_MODULE_INDICATOR([malloc-posix]) - gl_MODULE_INDICATOR([malloc-posix]) gl_MALLOCA gl_MATH_H + gl_MATH_H_REQUIRE_DEFAULTS gl_MINMAX gl_FUNC_MKDIR if test $REPLACE_MKDIR =3D 1; then @@ -573,7 +582,8 @@ AC_DEFUN([gl_INIT], fi gl_MODULE_INDICATOR([msvc-nothrow]) gl_MULTIARCH - gl_HEADER_NETDB + gl_NETDB_H + gl_NETDB_H_REQUIRE_DEFAULTS gl_HEADER_NETINET_IN AC_PROG_MKDIR_P gl_FUNC_NL_LANGINFO @@ -607,6 +617,7 @@ AC_DEFUN([gl_INIT], fi gl_POLL_MODULE_INDICATOR([poll]) gl_POLL_H + gl_POLL_H_REQUIRE_DEFAULTS gl_FUNC_PUTENV if test $REPLACE_PUTENV =3D 1; then AC_LIBOBJ([putenv]) @@ -625,12 +636,12 @@ AC_DEFUN([gl_INIT], gl_PREREQ_READLINK fi gl_UNISTD_MODULE_INDICATOR([readlink]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([recv]) fi gl_SYS_SOCKET_MODULE_INDICATOR([recv]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([recvfrom]) fi @@ -657,12 +668,12 @@ AC_DEFUN([gl_INIT], AC_LIBOBJ([select]) fi gl_SYS_SELECT_MODULE_INDICATOR([select]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([send]) fi gl_SYS_SOCKET_MODULE_INDICATOR([send]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([sendto]) fi @@ -672,25 +683,26 @@ AC_DEFUN([gl_INIT], AC_LIBOBJ([setenv]) fi gl_STDLIB_MODULE_INDICATOR([setenv]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([setsockopt]) fi gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt]) - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([shutdown]) fi gl_SYS_SOCKET_MODULE_INDICATOR([shutdown]) gl_SIGNAL_H - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + gl_SIGNAL_H_REQUIRE_DEFAULTS + AC_REQUIRE([gl_SYS_SOCKET_H]) if test "$ac_cv_header_winsock2_h" =3D yes; then AC_LIBOBJ([socket]) fi # When this module is used, sockets may actually occur as file descripto= rs, # hence it is worth warning if the modules 'close' and 'ioctl' are not u= sed. - m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])]) - m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS= ])]) + m4_ifdef([gl_UNISTD_H_DEFAULTS], [gl_UNISTD_H_REQUIRE_DEFAULTS]) + m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [gl_SYS_IOCTL_H_REQUIRE_DEFAULTS]) AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2]) if test "$ac_cv_header_winsock2_h" =3D yes; then UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=3D1 @@ -705,31 +717,67 @@ AC_DEFUN([gl_INIT], gl_STDALIGN_H AM_STDBOOL_H gl_STDDEF_H + gl_STDDEF_H_REQUIRE_DEFAULTS gl_STDINT_H gl_STDIO_H + gl_STDIO_H_REQUIRE_DEFAULTS + dnl No need to create extra modules for these functions. Everyone who us= es + dnl likely needs them. + gl_STDIO_MODULE_INDICATOR([fscanf]) + gl_MODULE_INDICATOR([fscanf]) + gl_STDIO_MODULE_INDICATOR([scanf]) + gl_MODULE_INDICATOR([scanf]) + gl_STDIO_MODULE_INDICATOR([fgetc]) + gl_STDIO_MODULE_INDICATOR([getc]) + gl_STDIO_MODULE_INDICATOR([getchar]) + gl_STDIO_MODULE_INDICATOR([fgets]) + gl_STDIO_MODULE_INDICATOR([fread]) + dnl No need to create extra modules for these functions. Everyone who us= es + dnl likely needs them. + gl_STDIO_MODULE_INDICATOR([fprintf]) + gl_STDIO_MODULE_INDICATOR([printf]) + gl_STDIO_MODULE_INDICATOR([vfprintf]) + gl_STDIO_MODULE_INDICATOR([vprintf]) + gl_STDIO_MODULE_INDICATOR([fputc]) + gl_STDIO_MODULE_INDICATOR([putc]) + gl_STDIO_MODULE_INDICATOR([putchar]) + gl_STDIO_MODULE_INDICATOR([fputs]) + gl_STDIO_MODULE_INDICATOR([puts]) + gl_STDIO_MODULE_INDICATOR([fwrite]) gl_STDLIB_H + gl_STDLIB_H_REQUIRE_DEFAULTS if test $gl_cond_libtool =3D false; then gl_ltlibdeps=3D"$gl_ltlibdeps $LTLIBICONV" gl_libdeps=3D"$gl_libdeps $LIBICONV" fi - gl_HEADER_STRING_H - gl_HEADER_SYS_FILE_H + gl_STRING_H + gl_STRING_H_REQUIRE_DEFAULTS + gl_SYS_FILE_H + gl_SYS_FILE_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SELECT]) + gl_SYS_SELECT_H + gl_SYS_SELECT_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + gl_SYS_SOCKET_H + gl_SYS_SOCKET_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - gl_HEADER_SYS_STAT_H + gl_SYS_STAT_H + gl_SYS_STAT_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - gl_HEADER_SYS_TIME_H + gl_SYS_TIME_H + gl_SYS_TIME_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P gl_SYS_TIMES_H + gl_SYS_TIMES_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P gl_SYS_TYPES_H + gl_SYS_TYPES_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - gl_HEADER_SYS_UIO + gl_SYS_UIO_H + gl_SYS_UIO_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P - gl_HEADER_TIME_H + gl_TIME_H + gl_TIME_H_REQUIRE_DEFAULTS gl_TIME_RZ if test $HAVE_TIMEZONE_T =3D 0; then AC_LIBOBJ([time_rz]) @@ -746,9 +794,11 @@ AC_DEFUN([gl_INIT], fi gl_MATH_MODULE_INDICATOR([trunc]) gl_UNISTD_H + gl_UNISTD_H_REQUIRE_DEFAULTS gl_FUNC_VSNPRINTF gl_STDIO_MODULE_INDICATOR([vsnprintf]) gl_WCHAR_H + gl_WCHAR_H_REQUIRE_DEFAULTS gl_FUNC_WRITE if test $REPLACE_WRITE =3D 1; then AC_LIBOBJ([write]) @@ -771,7 +821,6 @@ AC_DEFUN([gl_INIT], gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=3Dfalse gl_gnulib_enabled_30838f5439487421042f2225bed3af76=3Dfalse gl_gnulib_enabled_hostent=3Dfalse - gl_gnulib_enabled_idx=3Dfalse gl_gnulib_enabled_b1df7117b479d2da59d76deba468ee21=3Dfalse gl_gnulib_enabled_3f0e593033d1fc2c127581960f641b66=3Dfalse gl_gnulib_enabled_dbdf22868a5367f28bf18e0013ac6f8f=3Dfalse @@ -880,7 +929,9 @@ AC_SUBST([LTALLOCA]) func_gl_gnulib_m4code_dynarray () { if ! $gl_gnulib_enabled_dynarray; then + AC_PROG_MKDIR_P gl_gnulib_enabled_dynarray=3Dtrue + func_gl_gnulib_m4code_37f71b604aa9c54446783d80f42fe547 func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 fi } @@ -963,12 +1014,6 @@ AC_SUBST([LTALLOCA]) gl_gnulib_enabled_hostent=3Dtrue fi } - func_gl_gnulib_m4code_idx () - { - if ! $gl_gnulib_enabled_idx; then - gl_gnulib_enabled_idx=3Dtrue - fi - } func_gl_gnulib_m4code_b1df7117b479d2da59d76deba468ee21 () { if ! $gl_gnulib_enabled_b1df7117b479d2da59d76deba468ee21; then @@ -1181,7 +1226,6 @@ AC_SUBST([LTALLOCA]) AC_LIBOBJ([realloc]) fi gl_STDLIB_MODULE_INDICATOR([realloc-posix]) - gl_MODULE_INDICATOR([realloc-posix]) gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4=3Dtrue fi } @@ -1205,7 +1249,9 @@ AC_SUBST([LTALLOCA]) func_gl_gnulib_m4code_scratch_buffer () { if ! $gl_gnulib_enabled_scratch_buffer; then + AC_PROG_MKDIR_P gl_gnulib_enabled_scratch_buffer=3Dtrue + func_gl_gnulib_m4code_37f71b604aa9c54446783d80f42fe547 func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 func_gl_gnulib_m4code_61bcaca76b3e6f9ae55d57a1c3193bc4 fi @@ -1319,7 +1365,8 @@ AC_SUBST([LTALLOCA]) func_gl_gnulib_m4code_sys_random () { if ! $gl_gnulib_enabled_sys_random; then - gl_HEADER_SYS_RANDOM + gl_SYS_RANDOM_H + gl_SYS_RANDOM_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P gl_gnulib_enabled_sys_random=3Dtrue fi @@ -1416,6 +1463,7 @@ AC_SUBST([LTALLOCA]) { if ! $gl_gnulib_enabled_3dcce957eadc896e63ab5f137947b410; then gl_WCTYPE_H + gl_WCTYPE_H_REQUIRE_DEFAULTS gl_gnulib_enabled_3dcce957eadc896e63ab5f137947b410=3Dtrue fi } @@ -1430,9 +1478,6 @@ AC_SUBST([LTALLOCA]) if test $HAVE_CANONICALIZE_FILE_NAME =3D 0 || test $REPLACE_CANONICALIZE= _FILE_NAME =3D 1; then func_gl_gnulib_m4code_925677f0343de64b89a9f0c790b4104c fi - if test $HAVE_CANONICALIZE_FILE_NAME =3D 0 || test $REPLACE_CANONICALIZE= _FILE_NAME =3D 1; then - func_gl_gnulib_m4code_idx - fi if test $HAVE_CANONICALIZE_FILE_NAME =3D 0 || test $REPLACE_CANONICALIZE= _FILE_NAME =3D 1; then func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 fi @@ -1583,9 +1628,6 @@ AC_SUBST([LTALLOCA]) if test "$ac_cv_header_winsock2_h" =3D yes; then func_gl_gnulib_m4code_sockets fi - if test $HAVE_TIMEZONE_T =3D 0; then - func_gl_gnulib_m4code_idx - fi if test $HAVE_TIMEZONE_T =3D 0; then func_gl_gnulib_m4code_time_r fi @@ -1621,7 +1663,6 @@ AC_SUBST([LTALLOCA]) AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$g= l_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36]) AM_CONDITIONAL([gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76], [$g= l_gnulib_enabled_30838f5439487421042f2225bed3af76]) AM_CONDITIONAL([gl_GNULIB_ENABLED_hostent], [$gl_gnulib_enabled_hostent]) - AM_CONDITIONAL([gl_GNULIB_ENABLED_idx], [$gl_gnulib_enabled_idx]) AM_CONDITIONAL([gl_GNULIB_ENABLED_b1df7117b479d2da59d76deba468ee21], [$g= l_gnulib_enabled_b1df7117b479d2da59d76deba468ee21]) AM_CONDITIONAL([gl_GNULIB_ENABLED_3f0e593033d1fc2c127581960f641b66], [$g= l_gnulib_enabled_3f0e593033d1fc2c127581960f641b66]) AM_CONDITIONAL([gl_GNULIB_ENABLED_dbdf22868a5367f28bf18e0013ac6f8f], [$g= l_gnulib_enabled_dbdf22868a5367f28bf18e0013ac6f8f]) @@ -1673,6 +1714,8 @@ AC_SUBST([LTALLOCA]) m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, n= ot found])]) ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) m4_popdef([gl_LIBSOURCES_DIR]) m4_popdef([gl_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) @@ -1699,6 +1742,8 @@ AC_SUBST([LTALLOCA]) m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) m4_pushdef([gltests_LIBSOURCES_LIST], []) m4_pushdef([gltests_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [gltests]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) gl_COMMON gl_source_base=3D'tests' changequote(,)dnl @@ -1720,6 +1765,8 @@ changequote([, ])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, n= ot found])]) ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) m4_popdef([gltests_LIBSOURCES_DIR]) m4_popdef([gltests_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) @@ -2265,6 +2312,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/wint_t.m4 m4/write.m4 m4/xsize.m4 + m4/year2038.m4 m4/zzgnulib.m4 top/GNUmakefile top/maint.mk diff --git a/m4/hostent.m4 b/m4/hostent.m4 index 641d72fa3..f1390a32e 100644 --- a/m4/hostent.m4 +++ b/m4/hostent.m4 @@ -1,4 +1,4 @@ -# hostent.m4 serial 3 +# hostent.m4 serial 4 dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -13,7 +13,7 @@ AC_DEFUN([gl_HOSTENT], dnl - On BeOS, they are in libnet. dnl - On native Windows, they are in ws2_32.dll. dnl - Otherwise they are in libc. - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOC= K2_H + AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H HOSTENT_LIB=3D gl_saved_libs=3D"$LIBS" AC_SEARCH_LIBS([gethostbyname], [nsl network net], diff --git a/m4/iconv_h.m4 b/m4/iconv_h.m4 index ab8e2837a..294098829 100644 --- a/m4/iconv_h.m4 +++ b/m4/iconv_h.m4 @@ -1,10 +1,10 @@ -# iconv_h.m4 serial 12 +# iconv_h.m4 serial 15 dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_ICONV_H], +AC_DEFUN_ONCE([gl_ICONV_H], [ AC_REQUIRE([gl_ICONV_H_DEFAULTS]) =20 @@ -24,22 +24,37 @@ AC_DEFUN([gl_ICONV_H], dnl Unconditionally enables the replacement of . AC_DEFUN([gl_REPLACE_ICONV_H], [ - AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + gl_ICONV_H_REQUIRE_DEFAULTS ICONV_H=3D'iconv.h' AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"]) ]) =20 +# gl_ICONV_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_ICONV_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_ICONV_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_ICONV_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS],= [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ICONV]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS= ]) + AC_REQUIRE([gl_ICONV_H_DEFAULTS]) +]) + AC_DEFUN([gl_ICONV_H_DEFAULTS], [ m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])]) - GNULIB_ICONV=3D0; AC_SUBST([GNULIB_ICONV]) dnl Assume proper GNU behavior unless another module says otherwise. ICONV_CONST=3D; AC_SUBST([ICONV_CONST]) REPLACE_ICONV=3D0; AC_SUBST([REPLACE_ICONV]) diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 index f56e94a88..64b1de5c4 100644 --- a/m4/inttypes.m4 +++ b/m4/inttypes.m4 @@ -1,4 +1,4 @@ -# inttypes.m4 serial 32 +# inttypes.m4 serial 35 dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice i= s preserved. dnl From Derek Price, Bruno Haible. dnl Test whether is supported or must be substituted. =20 -AC_DEFUN([gl_INTTYPES_H], +AC_DEFUN_ONCE([gl_INTTYPES_H], [ AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) gl_INTTYPES_PRI_SCN @@ -136,19 +136,34 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION], AC_SUBST([$1]) ]) =20 +# gl_INTTYPES_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_INTTYPES_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULT= S], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAU= LTS]) + AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) +]) + AC_DEFUN([gl_INTTYPES_H_DEFAULTS], [ - GNULIB_IMAXABS=3D0; AC_SUBST([GNULIB_IMAXABS]) - GNULIB_IMAXDIV=3D0; AC_SUBST([GNULIB_IMAXDIV]) - GNULIB_STRTOIMAX=3D0; AC_SUBST([GNULIB_STRTOIMAX]) - GNULIB_STRTOUMAX=3D0; AC_SUBST([GNULIB_STRTOUMAX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_IMAXABS=3D1; AC_SUBST([HAVE_DECL_IMAXABS]) HAVE_DECL_IMAXDIV=3D1; AC_SUBST([HAVE_DECL_IMAXDIV]) diff --git a/m4/langinfo_h.m4 b/m4/langinfo_h.m4 index 950fe20af..87959f77a 100644 --- a/m4/langinfo_h.m4 +++ b/m4/langinfo_h.m4 @@ -1,10 +1,10 @@ -# langinfo_h.m4 serial 9 +# langinfo_h.m4 serial 12 dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_LANGINFO_H], +AC_DEFUN_ONCE([gl_LANGINFO_H], [ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) =20 @@ -104,18 +104,33 @@ int a =3D YESEXPR; ]], [nl_langinfo]) ]) =20 +# gl_LANGINFO_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_LANGINFO_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_LANGINFO_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULT= S], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NL_LANGINFO]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAU= LTS]) + AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) +]) + AC_DEFUN([gl_LANGINFO_H_DEFAULTS], [ - GNULIB_NL_LANGINFO=3D0; AC_SUBST([GNULIB_NL_LANGINFO]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_NL_LANGINFO=3D1; AC_SUBST([HAVE_NL_LANGINFO]) REPLACE_NL_LANGINFO=3D0; AC_SUBST([REPLACE_NL_LANGINFO]) diff --git a/m4/largefile.m4 b/m4/largefile.m4 index cadb16dc9..fbde5e664 100644 --- a/m4/largefile.m4 +++ b/m4/largefile.m4 @@ -22,7 +22,8 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], esac ]) =20 -# The following implementation works around a problem in autoconf <=3D 2.6= 9; +# Work around a problem in Autoconf through at least 2.71 on glibc 2.34+ +# with _TIME_BITS. Also, work around a problem in autoconf <=3D 2.69: # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, # or configures them incorrectly in some cases. m4_version_prereq([2.70], [], [ @@ -40,6 +41,7 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], && LARGE_OFF_T % 2147483647 =3D=3D 1) ? 1 : -1]];[]dnl ]) +])# m4_version_prereq 2.70 =20 =20 # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, @@ -54,7 +56,8 @@ m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], [AC_LANG_PROGRAM([$5], [$6])], [$3=3Dno; break]) m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( - [AC_LANG_PROGRAM([#define $1 $2 + [AC_LANG_PROGRAM([#undef $1 +#define $1 $2 $5], [$6])], [$3=3D$2; break]) $3=3Dunknown @@ -80,9 +83,8 @@ rm -rf conftest*[]dnl AC_DEFUN([AC_SYS_LARGEFILE], [AC_ARG_ENABLE(largefile, [ --disable-largefile omit support for large files]) -if test "$enable_largefile" !=3D no; then - - AC_CACHE_CHECK([for special C compiler options needed for large files], +AS_IF([test "$enable_largefile" !=3D no], + [AC_CACHE_CHECK([for special C compiler options needed for large files], ac_cv_sys_largefile_CC, [ac_cv_sys_largefile_CC=3Dno if test "$GCC" !=3D yes; then @@ -107,15 +109,15 @@ if test "$enable_largefile" !=3D no; then ac_cv_sys_file_offset_bits, [Number of bits in a file offset, on hosts where this is settable.], [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - if test $ac_cv_sys_file_offset_bits =3D unknown; then - _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, - ac_cv_sys_large_files, - [Define for large files, on AIX-style hosts.], - [_AC_SYS_LARGEFILE_TEST_INCLUDES]) - fi -fi + AS_CASE([$ac_cv_sys_file_offset_bits], + [unknown], + [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], + [ac_cv_sys_large_files], + [Define for large files, on AIX-style hosts.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES])], + [64], + [gl_YEAR2038_BODY([])])]) ])# AC_SYS_LARGEFILE -])# m4_version_prereq 2.70 =20 # Enable large files on systems where this is implemented by Gnulib, not b= y the # system headers. diff --git a/m4/limits-h.m4 b/m4/limits-h.m4 index 70dbb7dcf..00c9fe9e5 100644 --- a/m4/limits-h.m4 +++ b/m4/limits-h.m4 @@ -11,7 +11,7 @@ AC_DEFUN_ONCE([gl_LIMITS_H], [ gl_CHECK_NEXT_HEADERS([limits.h]) =20 - AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH e= tc.], + AC_CACHE_CHECK([whether limits.h has WORD_BIT, BOOL_WIDTH etc.], [gl_cv_header_limits_width], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( @@ -22,6 +22,7 @@ AC_DEFUN_ONCE([gl_LIMITS_H], long long llm =3D LLONG_MAX; int wb =3D WORD_BIT; int ullw =3D ULLONG_WIDTH; + int bw =3D BOOL_WIDTH; ]])], [gl_cv_header_limits_width=3Dyes], [gl_cv_header_limits_width=3Dno])]) diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 index 7b50aa7a8..444a38178 100644 --- a/m4/locale_h.m4 +++ b/m4/locale_h.m4 @@ -1,13 +1,13 @@ -# locale_h.m4 serial 25 +# locale_h.m4 serial 28 dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_LOCALE_H], +AC_DEFUN_ONCE([gl_LOCALE_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) =20 dnl Persuade glibc to define locale_t and the int_p_*, int_n_* @@ -129,22 +129,37 @@ AC_DEFUN([gl_LOCALE_T], AC_SUBST([HAVE_XLOCALE_H]) ]) =20 +# gl_LOCALE_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_LOCALE_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALECONV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) +]) + AC_DEFUN([gl_LOCALE_H_DEFAULTS], [ - GNULIB_LOCALECONV=3D0; AC_SUBST([GNULIB_LOCALECONV]) - GNULIB_SETLOCALE=3D0; AC_SUBST([GNULIB_SETLOCALE]) - GNULIB_SETLOCALE_NULL=3D0; AC_SUBST([GNULIB_SETLOCALE_NULL]) - GNULIB_DUPLOCALE=3D0; AC_SUBST([GNULIB_DUPLOCALE]) - GNULIB_LOCALENAME=3D0; AC_SUBST([GNULIB_LOCALENAME]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_NEWLOCALE=3D1; AC_SUBST([HAVE_NEWLOCALE]) HAVE_DUPLOCALE=3D1; AC_SUBST([HAVE_DUPLOCALE]) diff --git a/m4/malloc.m4 b/m4/malloc.m4 index 32ab42ec0..972e808ab 100644 --- a/m4/malloc.m4 +++ b/m4/malloc.m4 @@ -1,21 +1,21 @@ -# malloc.m4 serial 22 +# malloc.m4 serial 27 dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 # This is adapted with modifications from upstream Autoconf here: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=3D04be2b7a29d6= 5d9a08e64e8e56e594c91749598c +# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functio= ns.m4?id=3Dv2.70#n949 AC_DEFUN([_AC_FUNC_MALLOC_IF], [ AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles - AC_CACHE_CHECK([for GNU libc compatible malloc], + AC_CACHE_CHECK([whether malloc (0) returns nonnull], [ac_cv_func_malloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], - [[char *p =3D malloc (0); + [[void *p =3D malloc (0); int result =3D !p; free (p); return result;]]) @@ -24,75 +24,151 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], [ac_cv_func_malloc_0_nonnull=3Dno], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | *-musl* | freebsd* | midnightbsd* | netbsd* | op= enbsd* \ - | hpux* | solaris* | cygwin* | mingw*) + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) ac_cv_func_malloc_0_nonnull=3D"guessing yes" ;; # If we don't know, obey --enable-cross-guesses. *) ac_cv_func_malloc_0_nonnull=3D"$gl_cross_guess_normal" ;; esac ]) ]) - case "$ac_cv_func_malloc_0_nonnull" in - *yes) - $1 - ;; - *) - $2 - ;; - esac + AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2]) ])# _AC_FUNC_MALLOC_IF =20 # gl_FUNC_MALLOC_GNU # ------------------ -# Test whether 'malloc (0)' is handled like in GNU libc, and replace mallo= c if -# it is not. +# Replace malloc if it is not compatible with GNU libc. AC_DEFUN([gl_FUNC_MALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. - _AC_FUNC_MALLOC_IF( - [AC_DEFINE([HAVE_MALLOC_GNU], [1], - [Define to 1 if your system has a GNU libc compatible 'mall= oc' - function, and to 0 otherwise.])], - [AC_DEFINE([HAVE_MALLOC_GNU], [0]) - REPLACE_MALLOC=3D1 + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC =3D 0; then + _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC=3D1]) + fi +]) + +# gl_FUNC_MALLOC_PTRDIFF +# ---------------------- +# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX, +# and replace malloc otherwise. +AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) + test "$gl_cv_malloc_ptrdiff" =3D yes || REPLACE_MALLOC=3D1 +]) + +# Test whether malloc, realloc, calloc refuse to create objects +# larger than what can be expressed in ptrdiff_t. +# Set gl_cv_func_malloc_gnu to yes or no accordingly. +AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF], +[ + AC_CACHE_CHECK([whether malloc is ptrdiff_t safe], + [gl_cv_malloc_ptrdiff], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[/* 64-bit ptrdiff_t is so wide that no practical platform + can exceed it. */ + #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 !=3D 0) + + /* On rare machines where size_t fits in ptrdiff_t there + is no problem. */ + #define NARROW_SIZE (SIZE_MAX <=3D PTRDIFF_MAX) + + /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t + bounds even on 32-bit platforms. We don't know which + non-glibc systems are safe. */ + #define KNOWN_SAFE (2 < __GLIBC__ + (30 <=3D __GLIBC_MINOR__)) + + #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE + return 0; + #else + #error "malloc might not be ptrdiff_t safe" + syntax error + #endif + ]])], + [gl_cv_malloc_ptrdiff=3Dyes], + [gl_cv_malloc_ptrdiff=3Dno]) ]) ]) =20 # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace malloc if it is not. +# fails, and doesn't mess up with ptrdiff_t overflow), and replace +# malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix =3D yes; then + if test "$gl_cv_func_malloc_posix" =3D yes; then AC_DEFINE([HAVE_MALLOC_POSIX], [1], - [Define if the 'malloc' function is POSIX compliant.]) + [Define if malloc, realloc, and calloc set errno on allocation failu= re.]) else REPLACE_MALLOC=3D1 fi ]) =20 -# Test whether malloc, realloc, calloc are POSIX compliant, +# Test whether malloc, realloc, calloc set errno to ENOMEM on failure. # Set gl_cv_func_malloc_posix to yes or no accordingly. AC_DEFUN([gl_CHECK_MALLOC_POSIX], [ - AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure], [gl_cv_func_malloc_posix], [ dnl It is too dangerous to try to allocate a large amount of memory: dnl some systems go to their knees when you do that. So assume that - dnl all Unix implementations of the function are POSIX compliant. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[]], - [[#if defined _WIN32 && ! defined __CYGWIN__ - choke me - #endif - ]])], - [gl_cv_func_malloc_posix=3Dyes], - [gl_cv_func_malloc_posix=3Dno]) + dnl all Unix implementations of the function set errno on failure, + dnl except on those platforms where we have seen 'test-malloc-gnu', + dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. + case "$host_os" in + mingw*) + gl_cv_func_malloc_posix=3Dno ;; + irix* | solaris*) + dnl On IRIX 6.5, the three functions return NULL with errno unset + dnl when the argument is larger than PTRDIFF_MAX. + dnl On Solaris 11.3, the three functions return NULL with errno = set + dnl to EAGAIN, not ENOMEM, when the argument is larger than + dnl PTRDIFF_MAX. + dnl Here is a test program: +m4_divert_push([KILL]) +#include +#include +#include +#define ptrdiff_t long +#ifndef PTRDIFF_MAX +# define PTRDIFF_MAX ((ptrdiff_t) ((1UL << (8 * sizeof (ptrdiff_t) - 1)) -= 1)) +#endif + +int main () +{ + void *p; + + fprintf (stderr, "PTRDIFF_MAX =3D %lu\n", (unsigned long) PTRDIFF_MAX); + + errno =3D 0; + p =3D malloc ((unsigned long) PTRDIFF_MAX + 1); + fprintf (stderr, "p=3D%p errno=3D%d\n", p, errno); + + errno =3D 0; + p =3D calloc (PTRDIFF_MAX / 2 + 1, 2); + fprintf (stderr, "p=3D%p errno=3D%d\n", p, errno); + + errno =3D 0; + p =3D realloc (NULL, (unsigned long) PTRDIFF_MAX + 1); + fprintf (stderr, "p=3D%p errno=3D%d\n", p, errno); + + return 0; +} +m4_divert_pop([KILL]) + gl_cv_func_malloc_posix=3Dno ;; + *) + gl_cv_func_malloc_posix=3Dyes ;; + esac ]) ]) diff --git a/m4/math_h.m4 b/m4/math_h.m4 index a9ba5e655..b3a10c3fb 100644 --- a/m4/math_h.m4 +++ b/m4/math_h.m4 @@ -1,10 +1,10 @@ -# math_h.m4 serial 122 +# math_h.m4 serial 125 dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_MATH_H], +AC_DEFUN_ONCE([gl_MATH_H], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([math.h]) @@ -53,119 +53,134 @@ AC_DEFUN([gl_MATH_H], tanf tanl tanhf trunc truncf truncl]) ]) =20 +# gl_MATH_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_MATH_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_MATH_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_MATH_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_MATH_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACOSF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACOSL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ASINF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ASINL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATANL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATAN2F]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRTL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEIL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEILF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEILL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGNF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGNL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSHF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2F]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2L]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1F]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1L]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FABSF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FABSL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOOR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOORF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOORL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMA]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMAF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMAL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMODF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMODL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGB]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGBF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGBL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISFINITE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISINF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10F]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10L]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1P]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1PF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1PL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2F]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2L]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGB]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGBF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGBL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODFF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODFL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POWF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDER]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDERF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDERL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINTL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNBIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINHF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SQRTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SQRTL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANHF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCL]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_J0], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_J1], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_JN], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_Y0], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_Y1], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_YN], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_MATH_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_MATH_H_DEFAULTS]) +]) + AC_DEFUN([gl_MATH_H_DEFAULTS], [ - GNULIB_ACOSF=3D0; AC_SUBST([GNULIB_ACOSF]) - GNULIB_ACOSL=3D0; AC_SUBST([GNULIB_ACOSL]) - GNULIB_ASINF=3D0; AC_SUBST([GNULIB_ASINF]) - GNULIB_ASINL=3D0; AC_SUBST([GNULIB_ASINL]) - GNULIB_ATANF=3D0; AC_SUBST([GNULIB_ATANF]) - GNULIB_ATANL=3D0; AC_SUBST([GNULIB_ATANL]) - GNULIB_ATAN2F=3D0; AC_SUBST([GNULIB_ATAN2F]) - GNULIB_CBRT=3D0; AC_SUBST([GNULIB_CBRT]) - GNULIB_CBRTF=3D0; AC_SUBST([GNULIB_CBRTF]) - GNULIB_CBRTL=3D0; AC_SUBST([GNULIB_CBRTL]) - GNULIB_CEIL=3D0; AC_SUBST([GNULIB_CEIL]) - GNULIB_CEILF=3D0; AC_SUBST([GNULIB_CEILF]) - GNULIB_CEILL=3D0; AC_SUBST([GNULIB_CEILL]) - GNULIB_COPYSIGN=3D0; AC_SUBST([GNULIB_COPYSIGN]) - GNULIB_COPYSIGNF=3D0; AC_SUBST([GNULIB_COPYSIGNF]) - GNULIB_COPYSIGNL=3D0; AC_SUBST([GNULIB_COPYSIGNL]) - GNULIB_COSF=3D0; AC_SUBST([GNULIB_COSF]) - GNULIB_COSL=3D0; AC_SUBST([GNULIB_COSL]) - GNULIB_COSHF=3D0; AC_SUBST([GNULIB_COSHF]) - GNULIB_EXPF=3D0; AC_SUBST([GNULIB_EXPF]) - GNULIB_EXPL=3D0; AC_SUBST([GNULIB_EXPL]) - GNULIB_EXP2=3D0; AC_SUBST([GNULIB_EXP2]) - GNULIB_EXP2F=3D0; AC_SUBST([GNULIB_EXP2F]) - GNULIB_EXP2L=3D0; AC_SUBST([GNULIB_EXP2L]) - GNULIB_EXPM1=3D0; AC_SUBST([GNULIB_EXPM1]) - GNULIB_EXPM1F=3D0; AC_SUBST([GNULIB_EXPM1F]) - GNULIB_EXPM1L=3D0; AC_SUBST([GNULIB_EXPM1L]) - GNULIB_FABSF=3D0; AC_SUBST([GNULIB_FABSF]) - GNULIB_FABSL=3D0; AC_SUBST([GNULIB_FABSL]) - GNULIB_FLOOR=3D0; AC_SUBST([GNULIB_FLOOR]) - GNULIB_FLOORF=3D0; AC_SUBST([GNULIB_FLOORF]) - GNULIB_FLOORL=3D0; AC_SUBST([GNULIB_FLOORL]) - GNULIB_FMA=3D0; AC_SUBST([GNULIB_FMA]) - GNULIB_FMAF=3D0; AC_SUBST([GNULIB_FMAF]) - GNULIB_FMAL=3D0; AC_SUBST([GNULIB_FMAL]) - GNULIB_FMOD=3D0; AC_SUBST([GNULIB_FMOD]) - GNULIB_FMODF=3D0; AC_SUBST([GNULIB_FMODF]) - GNULIB_FMODL=3D0; AC_SUBST([GNULIB_FMODL]) - GNULIB_FREXPF=3D0; AC_SUBST([GNULIB_FREXPF]) - GNULIB_FREXP=3D0; AC_SUBST([GNULIB_FREXP]) - GNULIB_FREXPL=3D0; AC_SUBST([GNULIB_FREXPL]) - GNULIB_HYPOT=3D0; AC_SUBST([GNULIB_HYPOT]) - GNULIB_HYPOTF=3D0; AC_SUBST([GNULIB_HYPOTF]) - GNULIB_HYPOTL=3D0; AC_SUBST([GNULIB_HYPOTL]) - GNULIB_ILOGB=3D0; AC_SUBST([GNULIB_ILOGB]) - GNULIB_ILOGBF=3D0; AC_SUBST([GNULIB_ILOGBF]) - GNULIB_ILOGBL=3D0; AC_SUBST([GNULIB_ILOGBL]) - GNULIB_ISFINITE=3D0; AC_SUBST([GNULIB_ISFINITE]) - GNULIB_ISINF=3D0; AC_SUBST([GNULIB_ISINF]) - GNULIB_ISNAN=3D0; AC_SUBST([GNULIB_ISNAN]) - GNULIB_ISNANF=3D0; AC_SUBST([GNULIB_ISNANF]) - GNULIB_ISNAND=3D0; AC_SUBST([GNULIB_ISNAND]) - GNULIB_ISNANL=3D0; AC_SUBST([GNULIB_ISNANL]) - GNULIB_LDEXPF=3D0; AC_SUBST([GNULIB_LDEXPF]) - GNULIB_LDEXPL=3D0; AC_SUBST([GNULIB_LDEXPL]) - GNULIB_LOG=3D0; AC_SUBST([GNULIB_LOG]) - GNULIB_LOGF=3D0; AC_SUBST([GNULIB_LOGF]) - GNULIB_LOGL=3D0; AC_SUBST([GNULIB_LOGL]) - GNULIB_LOG10=3D0; AC_SUBST([GNULIB_LOG10]) - GNULIB_LOG10F=3D0; AC_SUBST([GNULIB_LOG10F]) - GNULIB_LOG10L=3D0; AC_SUBST([GNULIB_LOG10L]) - GNULIB_LOG1P=3D0; AC_SUBST([GNULIB_LOG1P]) - GNULIB_LOG1PF=3D0; AC_SUBST([GNULIB_LOG1PF]) - GNULIB_LOG1PL=3D0; AC_SUBST([GNULIB_LOG1PL]) - GNULIB_LOG2=3D0; AC_SUBST([GNULIB_LOG2]) - GNULIB_LOG2F=3D0; AC_SUBST([GNULIB_LOG2F]) - GNULIB_LOG2L=3D0; AC_SUBST([GNULIB_LOG2L]) - GNULIB_LOGB=3D0; AC_SUBST([GNULIB_LOGB]) - GNULIB_LOGBF=3D0; AC_SUBST([GNULIB_LOGBF]) - GNULIB_LOGBL=3D0; AC_SUBST([GNULIB_LOGBL]) - GNULIB_MODF=3D0; AC_SUBST([GNULIB_MODF]) - GNULIB_MODFF=3D0; AC_SUBST([GNULIB_MODFF]) - GNULIB_MODFL=3D0; AC_SUBST([GNULIB_MODFL]) - GNULIB_POWF=3D0; AC_SUBST([GNULIB_POWF]) - GNULIB_REMAINDER=3D0; AC_SUBST([GNULIB_REMAINDER]) - GNULIB_REMAINDERF=3D0; AC_SUBST([GNULIB_REMAINDERF]) - GNULIB_REMAINDERL=3D0; AC_SUBST([GNULIB_REMAINDERL]) - GNULIB_RINT=3D0; AC_SUBST([GNULIB_RINT]) - GNULIB_RINTF=3D0; AC_SUBST([GNULIB_RINTF]) - GNULIB_RINTL=3D0; AC_SUBST([GNULIB_RINTL]) - GNULIB_ROUND=3D0; AC_SUBST([GNULIB_ROUND]) - GNULIB_ROUNDF=3D0; AC_SUBST([GNULIB_ROUNDF]) - GNULIB_ROUNDL=3D0; AC_SUBST([GNULIB_ROUNDL]) - GNULIB_SIGNBIT=3D0; AC_SUBST([GNULIB_SIGNBIT]) - GNULIB_SINF=3D0; AC_SUBST([GNULIB_SINF]) - GNULIB_SINL=3D0; AC_SUBST([GNULIB_SINL]) - GNULIB_SINHF=3D0; AC_SUBST([GNULIB_SINHF]) - GNULIB_SQRTF=3D0; AC_SUBST([GNULIB_SQRTF]) - GNULIB_SQRTL=3D0; AC_SUBST([GNULIB_SQRTL]) - GNULIB_TANF=3D0; AC_SUBST([GNULIB_TANF]) - GNULIB_TANL=3D0; AC_SUBST([GNULIB_TANL]) - GNULIB_TANHF=3D0; AC_SUBST([GNULIB_TANHF]) - GNULIB_TRUNC=3D0; AC_SUBST([GNULIB_TRUNC]) - GNULIB_TRUNCF=3D0; AC_SUBST([GNULIB_TRUNCF]) - GNULIB_TRUNCL=3D0; AC_SUBST([GNULIB_TRUNCL]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_J0=3D1; AC_SUBST([GNULIB_MDA_J0]) - GNULIB_MDA_J1=3D1; AC_SUBST([GNULIB_MDA_J1]) - GNULIB_MDA_JN=3D1; AC_SUBST([GNULIB_MDA_JN]) - GNULIB_MDA_Y0=3D1; AC_SUBST([GNULIB_MDA_Y0]) - GNULIB_MDA_Y1=3D1; AC_SUBST([GNULIB_MDA_Y1]) - GNULIB_MDA_YN=3D1; AC_SUBST([GNULIB_MDA_YN]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ACOSF=3D1; AC_SUBST([HAVE_ACOSF]) HAVE_ACOSL=3D1; AC_SUBST([HAVE_ACOSL]) diff --git a/m4/memchr.m4 b/m4/memchr.m4 index 64470ded5..ca08192a6 100644 --- a/m4/memchr.m4 +++ b/m4/memchr.m4 @@ -1,4 +1,4 @@ -# memchr.m4 serial 17 +# memchr.m4 serial 18 dnl Copyright (C) 2002-2004, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -13,7 +13,7 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], AC_CHECK_HEADERS_ONCE([sys/mman.h]) AC_CHECK_FUNCS_ONCE([mprotect]) =20 - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) # Detect platform-specific bugs in some versions of glibc: # memchr should not dereference anything with length 0 # https://bugzilla.redhat.com/show_bug.cgi?id=3D499689 diff --git a/m4/mempcpy.m4 b/m4/mempcpy.m4 index c5ee2af8c..f9d9ec8f3 100644 --- a/m4/mempcpy.m4 +++ b/m4/mempcpy.m4 @@ -1,4 +1,4 @@ -# mempcpy.m4 serial 11 +# mempcpy.m4 serial 12 dnl Copyright (C) 2003-2004, 2006-2007, 2009-2021 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -13,7 +13,7 @@ AC_DEFUN([gl_FUNC_MEMPCPY], dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) =20 - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([mempcpy]) if test $ac_cv_func_mempcpy =3D no; then HAVE_MEMPCPY=3D0 diff --git a/m4/mktime.m4 b/m4/mktime.m4 index 245649e77..721189af5 100644 --- a/m4/mktime.m4 +++ b/m4/mktime.m4 @@ -1,4 +1,4 @@ -# serial 35 +# serial 36 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -255,7 +255,7 @@ main () dnl Main macro of module 'mktime'. AC_DEFUN([gl_FUNC_MKTIME], [ - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) =20 diff --git a/m4/netdb_h.m4 b/m4/netdb_h.m4 index db84c787e..eb7c3b8b5 100644 --- a/m4/netdb_h.m4 +++ b/m4/netdb_h.m4 @@ -1,10 +1,10 @@ -# netdb_h.m4 serial 12 +# netdb_h.m4 serial 15 dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_HEADER_NETDB], +AC_DEFUN_ONCE([gl_NETDB_H], [ AC_REQUIRE([gl_NETDB_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([netdb.h]) @@ -21,18 +21,33 @@ AC_DEFUN([gl_HEADER_NETDB], [getaddrinfo freeaddrinfo gai_strerror getnameinfo]) ]) =20 +# gl_NETDB_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_NETDB_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_NETDB_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_NETDB_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_NETDB_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS],= [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETADDRINFO]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS= ]) + AC_REQUIRE([gl_NETDB_H_DEFAULTS]) +]) + AC_DEFUN([gl_NETDB_H_DEFAULTS], [ - GNULIB_GETADDRINFO=3D0; AC_SUBST([GNULIB_GETADDRINFO]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_STRUCT_ADDRINFO=3D1; AC_SUBST([HAVE_STRUCT_ADDRINFO]) HAVE_DECL_FREEADDRINFO=3D1; AC_SUBST([HAVE_DECL_FREEADDRINFO]) diff --git a/m4/poll_h.m4 b/m4/poll_h.m4 index 20692d866..1f0d7964a 100644 --- a/m4/poll_h.m4 +++ b/m4/poll_h.m4 @@ -1,4 +1,4 @@ -# poll_h.m4 serial 3 +# poll_h.m4 serial 6 dnl Copyright (C) 2010-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice= is preserved. =20 dnl Written by Bruno Haible. =20 -AC_DEFUN([gl_POLL_H], +AC_DEFUN_ONCE([gl_POLL_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. AC_REQUIRE([gl_POLL_H_DEFAULTS]) =20 AC_CHECK_HEADERS_ONCE([poll.h]) @@ -31,18 +31,33 @@ AC_DEFUN([gl_POLL_H], [poll]) ]) =20 +# gl_POLL_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_POLL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_POLL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_POLL_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_POLL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_POLL_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POLL]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_POLL_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_POLL_H_DEFAULTS]) +]) + AC_DEFUN([gl_POLL_H_DEFAULTS], [ - GNULIB_POLL=3D0; AC_SUBST([GNULIB_POLL]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POLL=3D1; AC_SUBST([HAVE_POLL]) REPLACE_POLL=3D0; AC_SUBST([REPLACE_POLL]) diff --git a/m4/printf.m4 b/m4/printf.m4 index d8b352104..284c7c5d3 100644 --- a/m4/printf.m4 +++ b/m4/printf.m4 @@ -1,4 +1,4 @@ -# printf.m4 serial 72 +# printf.m4 serial 73 dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -537,7 +537,7 @@ int main () && strcmp (buf, "-0X6.488P-1 33") !=3D 0 && strcmp (buf, "-0XC.91P-2 33") !=3D 0)) result |=3D 2; - /* This catches a FreeBSD 6.1 bug: it doesn't round. */ + /* This catches a FreeBSD 13.0 bug: it doesn't round. */ if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 || (strcmp (buf, "0x1.83p+0 33") !=3D 0 && strcmp (buf, "0x3.05p-1 33") !=3D 0 @@ -1690,6 +1690,7 @@ dnl dnl 1 2 3 4 5 6 7 8 9 10 11 12 13= 14 15 16 17 18 19 20 dnl glibc 2.5 . . . . . . . . . . . . .= . . . . . . . dnl glibc 2.3.6 . . . . # . . . . . . . .= . . . . . . . +dnl FreeBSD 13.0 . . . . # . . . . . . . .= # . . . . . . dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # .= # . . . . . . dnl Mac OS X 10.13.5 . . . # # . # . . . . . .= . . . . # . . dnl Mac OS X 10.5.8 . . . # # . . . . . . # .= . . . . . . . diff --git a/m4/rawmemchr.m4 b/m4/rawmemchr.m4 index f92846543..452fab18f 100644 --- a/m4/rawmemchr.m4 +++ b/m4/rawmemchr.m4 @@ -1,4 +1,4 @@ -# rawmemchr.m4 serial 2 +# rawmemchr.m4 serial 3 dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,7 +9,7 @@ AC_DEFUN([gl_FUNC_RAWMEMCHR], dnl Persuade glibc to declare rawmemchr(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) =20 - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_CHECK_FUNCS([rawmemchr]) if test $ac_cv_func_rawmemchr =3D no; then HAVE_RAWMEMCHR=3D0 diff --git a/m4/realloc.m4 b/m4/realloc.m4 index a80a02a6b..0abc4185e 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -1,21 +1,21 @@ -# realloc.m4 serial 20 +# realloc.m4 serial 24 dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 # This is adapted with modifications from upstream Autoconf here: -# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=3D04be2b7a29d6= 5d9a08e64e8e56e594c91749598c +# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functio= ns.m4?id=3Dv2.70#n1455 AC_DEFUN([_AC_FUNC_REALLOC_IF], [ AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles - AC_CACHE_CHECK([for GNU libc compatible realloc], + AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull], [ac_cv_func_realloc_0_nonnull], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], - [[char *p =3D realloc (0, 0); + [[void *p =3D realloc (0, 0); int result =3D !p; free (p); return result;]]) @@ -24,53 +24,40 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF], [ac_cv_func_realloc_0_nonnull=3Dno], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | *-musl* | freebsd* | midnightbsd* | netbsd* | op= enbsd* \ - | hpux* | solaris* | cygwin* | mingw*) + *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ + | gnu* | *-musl* | midnightbsd* \ + | hpux* | solaris* | cygwin* | mingw* | msys* ) ac_cv_func_realloc_0_nonnull=3D"guessing yes" ;; # If we don't know, obey --enable-cross-guesses. *) ac_cv_func_realloc_0_nonnull=3D"$gl_cross_guess_normal" ;; esac ]) ]) - case "$ac_cv_func_realloc_0_nonnull" in - *yes) - $1 - ;; - *) - $2 - ;; - esac + AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2]) ])# AC_FUNC_REALLOC =20 # gl_FUNC_REALLOC_GNU # ------------------- -# Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace -# realloc if it is not. +# Replace realloc if it is not compatible with GNU libc. AC_DEFUN([gl_FUNC_REALLOC_GNU], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - dnl _AC_FUNC_REALLOC_IF is defined in Autoconf. - _AC_FUNC_REALLOC_IF( - [AC_DEFINE([HAVE_REALLOC_GNU], [1], - [Define to 1 if your system has a GNU libc compatible 'real= loc' - function, and to 0 otherwise.])], - [AC_DEFINE([HAVE_REALLOC_GNU], [0]) - REPLACE_REALLOC=3D1 - ]) + AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) + if test $REPLACE_REALLOC =3D 0; then + _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC=3D1]) + fi ])# gl_FUNC_REALLOC_GNU =20 # gl_FUNC_REALLOC_POSIX # --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it -# fails), and replace realloc if it is not. +# fails, and doesn't mess up with ptrdiff_t overflow), +# and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) - if test $gl_cv_func_malloc_posix =3D yes; then - AC_DEFINE([HAVE_REALLOC_POSIX], [1], - [Define if the 'realloc' function is POSIX compliant.]) - else + AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) + if test $REPLACE_MALLOC =3D 1; then REPLACE_REALLOC=3D1 fi ]) diff --git a/m4/regex.m4 b/m4/regex.m4 index 850c57222..1c7e562f6 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,4 +1,4 @@ -# serial 71 +# serial 73 =20 # Copyright (C) 1996-2001, 2003-2021 Free Software Foundation, Inc. # @@ -246,7 +246,7 @@ AC_DEFUN([gl_REGEX], & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); - s =3D re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); + s =3D re_compile_pattern ("[[:alnum:]_-]\\\\+\$", 16, ®ex); if (s) result |=3D 32; else @@ -264,14 +264,50 @@ AC_DEFUN([gl_REGEX], back reference. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); - s =3D re_compile_pattern ("0|()0|\\1|0", 10, ®ex); + s =3D re_compile_pattern ("0|()0|\\\\1|0", 10, ®ex); if (!s) - result |=3D 64; + { + memset (®s, 0, sizeof regs); + i =3D re_search (®ex, "x", 1, 0, 1, ®s); + if (i !=3D -1) + result |=3D 64; + if (0 <=3D i) + { + free (regs.start); + free (regs.end); + } + regfree (®ex); + } else { if (strcmp (s, "Invalid back reference")) result |=3D 64; + } + + /* glibc bug 11053. */ + re_set_syntax (RE_SYNTAX_POSIX_BASIC); + memset (®ex, 0, sizeof regex); + static char const pat_sub2[] =3D "\\\\(a*\\\\)*a*\\\\1"; + s =3D re_compile_pattern (pat_sub2, sizeof pat_sub2 - 1, ®e= x); + if (s) + result |=3D 64; + else + { + memset (®s, 0, sizeof regs); + static char const data[] =3D "a"; + int datalen =3D sizeof data - 1; + i =3D re_search (®ex, data, datalen, 0, datalen, ®s); + if (i !=3D 0) + result |=3D 64; + else if (regs.num_regs < 2) + result |=3D 64; + else if (! (regs.start[0] =3D=3D 0 && regs.end[0] =3D=3D 1= )) + result |=3D 64; + else if (! (regs.start[1] =3D=3D 0 && regs.end[1] =3D=3D 0= )) + result |=3D 64; regfree (®ex); + free (regs.start); + free (regs.end); } =20 #if 0 diff --git a/m4/select.m4 b/m4/select.m4 index c7409d204..72c068fa4 100644 --- a/m4/select.m4 +++ b/m4/select.m4 @@ -1,4 +1,4 @@ -# select.m4 serial 12 +# select.m4 serial 13 dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 AC_DEFUN([gl_FUNC_SELECT], [ - AC_REQUIRE([gl_HEADER_SYS_SELECT]) + AC_REQUIRE([gl_SYS_SELECT_H]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_SOCKETS]) diff --git a/m4/servent.m4 b/m4/servent.m4 index 2dda17750..9bc3bcd4f 100644 --- a/m4/servent.m4 +++ b/m4/servent.m4 @@ -1,4 +1,4 @@ -# servent.m4 serial 3 +# servent.m4 serial 4 dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -15,7 +15,7 @@ AC_DEFUN([gl_SERVENT], dnl - On BeOS, they are in libnet. dnl - On native Windows, they are in ws2_32.dll. dnl - Otherwise they are in libc. - AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOC= K2_H + AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H SERVENT_LIB=3D gl_saved_libs=3D"$LIBS" AC_SEARCH_LIBS([getservbyname], [socket network net], diff --git a/m4/signal_h.m4 b/m4/signal_h.m4 index ff9f0251f..8b938809b 100644 --- a/m4/signal_h.m4 +++ b/m4/signal_h.m4 @@ -1,10 +1,10 @@ -# signal_h.m4 serial 19 +# signal_h.m4 serial 22 dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_SIGNAL_H], +AC_DEFUN_ONCE([gl_SIGNAL_H], [ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T]) @@ -52,22 +52,37 @@ AC_DEFUN([gl_CHECK_TYPE_SIGSET_T], fi ]) =20 +# gl_SIGNAL_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SIGNAL_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SIGNAL_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTHREAD_SIGMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAISE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNAL_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGPROCMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGACTION]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SIGNAL_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_SIGNAL_H_DEFAULTS]) +]) + AC_DEFUN([gl_SIGNAL_H_DEFAULTS], [ - GNULIB_PTHREAD_SIGMASK=3D0; AC_SUBST([GNULIB_PTHREAD_SIGMASK]) - GNULIB_RAISE=3D0; AC_SUBST([GNULIB_RAISE]) - GNULIB_SIGNAL_H_SIGPIPE=3D0; AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE]) - GNULIB_SIGPROCMASK=3D0; AC_SUBST([GNULIB_SIGPROCMASK]) - GNULIB_SIGACTION=3D0; AC_SUBST([GNULIB_SIGACTION]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_POSIX_SIGNALBLOCKING=3D1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING]) HAVE_PTHREAD_SIGMASK=3D1; AC_SUBST([HAVE_PTHREAD_SIGMASK]) diff --git a/m4/sockpfaf.m4 b/m4/sockpfaf.m4 index edae5d85c..17e14c7a6 100644 --- a/m4/sockpfaf.m4 +++ b/m4/sockpfaf.m4 @@ -1,4 +1,4 @@ -# sockpfaf.m4 serial 9 +# sockpfaf.m4 serial 10 dnl Copyright (C) 2004, 2006, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -13,7 +13,7 @@ dnl From Bruno Haible. =20 AC_DEFUN([gl_SOCKET_FAMILIES], [ - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) AC_CHECK_HEADERS_ONCE([netinet/in.h]) =20 AC_CACHE_CHECK([for IPv4 sockets], @@ -60,7 +60,7 @@ AC_DEFUN([gl_SOCKET_FAMILIES], =20 AC_DEFUN([gl_SOCKET_FAMILY_UNIX], [ - AC_REQUIRE([gl_HEADER_SYS_SOCKET]) + AC_REQUIRE([gl_SYS_SOCKET_H]) AC_CHECK_HEADERS_ONCE([sys/un.h]) =20 AC_CACHE_CHECK([for UNIX domain sockets], diff --git a/m4/stat.m4 b/m4/stat.m4 index 66f6c8c5c..9bcdb72d6 100644 --- a/m4/stat.m4 +++ b/m4/stat.m4 @@ -1,4 +1,4 @@ -# serial 17 +# serial 18 =20 # Copyright (C) 2009-2021 Free Software Foundation, Inc. # @@ -69,7 +69,7 @@ AC_DEFUN([gl_FUNC_STAT], =20 # Prerequisites of lib/stat.c and lib/stat-w32.c. AC_DEFUN([gl_PREREQ_STAT], [ - AC_REQUIRE([gl_HEADER_SYS_STAT_H]) + AC_REQUIRE([gl_SYS_STAT_H]) AC_REQUIRE([gl_PREREQ_STAT_W32]) : ]) diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 index cd666c4a5..1303d2e06 100644 --- a/m4/stddef_h.m4 +++ b/m4/stddef_h.m4 @@ -1,4 +1,4 @@ -# stddef_h.m4 serial 9 +# stddef_h.m4 serial 11 dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 dnl A placeholder for , for platforms that have issues. =20 -AC_DEFUN([gl_STDDEF_H], +AC_DEFUN_ONCE([gl_STDDEF_H], [ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) @@ -68,13 +68,28 @@ AC_DEFUN([gl_STDDEF_H], fi ]) =20 +# gl_STDDEF_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STDDEF_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STDDEF_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS]= , [ + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) +]) + AC_DEFUN([gl_STDDEF_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. diff --git a/m4/stdint.m4 b/m4/stdint.m4 index a785b44ed..2eb1652d8 100644 --- a/m4/stdint.m4 +++ b/m4/stdint.m4 @@ -1,4 +1,4 @@ -# stdint.m4 serial 58 +# stdint.m4 serial 60 dnl Copyright (C) 2001-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -170,7 +170,7 @@ struct s { PTRDIFF_MIN =3D=3D TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX =3D=3D TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ + /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN =3D=3D TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX =3D=3D TYPE_MAXIMUM (sig_atomic_t) @@ -527,7 +527,7 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], dnl requirement that wint_t is "unchanged by default argument promotions= ". dnl In this case gnulib's and override wint_t. dnl Set the variable BITSIZEOF_WINT_T accordingly. - if test $GNULIB_OVERRIDES_WINT_T =3D 1; then + if test $GNULIBHEADERS_OVERRIDE_WINT_T =3D 1; then BITSIZEOF_WINT_T=3D32 fi ]) diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index 4c3f24acc..e70438386 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,11 +1,12 @@ -# stdio_h.m4 serial 52 +# stdio_h.m4 serial 56 dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_STDIO_H], +AC_DEFUN_ONCE([gl_STDIO_H], [ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AH_VERBATIM([MINGW_ANSI_STDIO], [/* Use GNU style printf and scanf. */ #ifndef __USE_MINGW_ANSI_STDIO @@ -13,7 +14,6 @@ AC_DEFUN([gl_STDIO_H], #endif ]) AC_DEFINE([__USE_MINGW_ANSI_STDIO]) - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) =20 dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and @@ -40,17 +40,6 @@ AC_DEFUN([gl_STDIO_H], attribute "__gnu_printf__" instead of "__printf__"]) fi =20 - dnl No need to create extra modules for these functions. Everyone who us= es - dnl likely needs them. - GNULIB_FSCANF=3D1 - gl_MODULE_INDICATOR([fscanf]) - GNULIB_SCANF=3D1 - gl_MODULE_INDICATOR([scanf]) - GNULIB_FGETC=3D1 - GNULIB_GETC=3D1 - GNULIB_GETCHAR=3D1 - GNULIB_FGETS=3D1 - GNULIB_FREAD=3D1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-re= ad.c" dnl "expected source file, required through AC_LIBSOURCES, not found". I= t is dnl also an optimization, to avoid performing a configure check whose re= sult @@ -64,18 +53,6 @@ AC_DEFUN([gl_STDIO_H], fi ]) =20 - dnl No need to create extra modules for these functions. Everyone who us= es - dnl likely needs them. - GNULIB_FPRINTF=3D1 - GNULIB_PRINTF=3D1 - GNULIB_VFPRINTF=3D1 - GNULIB_VPRINTF=3D1 - GNULIB_FPUTC=3D1 - GNULIB_PUTC=3D1 - GNULIB_PUTCHAR=3D1 - GNULIB_FPUTS=3D1 - GNULIB_PUTS=3D1 - GNULIB_FWRITE=3D1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-wr= ite.c" dnl "expected source file, required through AC_LIBSOURCES, not found". I= t is dnl also an optimization, to avoid performing a configure check whose re= sult @@ -116,77 +93,92 @@ AC_DEFUN([gl_STDIO_H], fi ]) =20 +# gl_STDIO_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STDIO_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STDIO_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS],= [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREAD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREOPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEKO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTCHAR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMOVE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FILENO], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETW], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTW], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TEMPNAM], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS= ]) + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) +]) + AC_DEFUN([gl_STDIO_H_DEFAULTS], [ - GNULIB_DPRINTF=3D0; AC_SUBST([GNULIB_DPRINTF]) - GNULIB_FCLOSE=3D0; AC_SUBST([GNULIB_FCLOSE]) - GNULIB_FDOPEN=3D0; AC_SUBST([GNULIB_FDOPEN]) - GNULIB_FFLUSH=3D0; AC_SUBST([GNULIB_FFLUSH]) - GNULIB_FGETC=3D0; AC_SUBST([GNULIB_FGETC]) - GNULIB_FGETS=3D0; AC_SUBST([GNULIB_FGETS]) - GNULIB_FOPEN=3D0; AC_SUBST([GNULIB_FOPEN]) - GNULIB_FPRINTF=3D0; AC_SUBST([GNULIB_FPRINTF]) - GNULIB_FPRINTF_POSIX=3D0; AC_SUBST([GNULIB_FPRINTF_POSIX]) - GNULIB_FPURGE=3D0; AC_SUBST([GNULIB_FPURGE]) - GNULIB_FPUTC=3D0; AC_SUBST([GNULIB_FPUTC]) - GNULIB_FPUTS=3D0; AC_SUBST([GNULIB_FPUTS]) - GNULIB_FREAD=3D0; AC_SUBST([GNULIB_FREAD]) - GNULIB_FREOPEN=3D0; AC_SUBST([GNULIB_FREOPEN]) - GNULIB_FSCANF=3D0; AC_SUBST([GNULIB_FSCANF]) - GNULIB_FSEEK=3D0; AC_SUBST([GNULIB_FSEEK]) - GNULIB_FSEEKO=3D0; AC_SUBST([GNULIB_FSEEKO]) - GNULIB_FTELL=3D0; AC_SUBST([GNULIB_FTELL]) - GNULIB_FTELLO=3D0; AC_SUBST([GNULIB_FTELLO]) - GNULIB_FWRITE=3D0; AC_SUBST([GNULIB_FWRITE]) - GNULIB_GETC=3D0; AC_SUBST([GNULIB_GETC]) - GNULIB_GETCHAR=3D0; AC_SUBST([GNULIB_GETCHAR]) - GNULIB_GETDELIM=3D0; AC_SUBST([GNULIB_GETDELIM]) - GNULIB_GETLINE=3D0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_OBSTACK_PRINTF=3D0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) - GNULIB_OBSTACK_PRINTF_POSIX=3D0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) - GNULIB_PCLOSE=3D0; AC_SUBST([GNULIB_PCLOSE]) - GNULIB_PERROR=3D0; AC_SUBST([GNULIB_PERROR]) - GNULIB_POPEN=3D0; AC_SUBST([GNULIB_POPEN]) - GNULIB_PRINTF=3D0; AC_SUBST([GNULIB_PRINTF]) - GNULIB_PRINTF_POSIX=3D0; AC_SUBST([GNULIB_PRINTF_POSIX]) - GNULIB_PUTC=3D0; AC_SUBST([GNULIB_PUTC]) - GNULIB_PUTCHAR=3D0; AC_SUBST([GNULIB_PUTCHAR]) - GNULIB_PUTS=3D0; AC_SUBST([GNULIB_PUTS]) - GNULIB_REMOVE=3D0; AC_SUBST([GNULIB_REMOVE]) - GNULIB_RENAME=3D0; AC_SUBST([GNULIB_RENAME]) - GNULIB_RENAMEAT=3D0; AC_SUBST([GNULIB_RENAMEAT]) - GNULIB_SCANF=3D0; AC_SUBST([GNULIB_SCANF]) - GNULIB_SNPRINTF=3D0; AC_SUBST([GNULIB_SNPRINTF]) - GNULIB_SPRINTF_POSIX=3D0; AC_SUBST([GNULIB_SPRINTF_POSIX]) - GNULIB_STDIO_H_NONBLOCKING=3D0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) - GNULIB_STDIO_H_SIGPIPE=3D0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) - GNULIB_TMPFILE=3D0; AC_SUBST([GNULIB_TMPFILE]) - GNULIB_VASPRINTF=3D0; AC_SUBST([GNULIB_VASPRINTF]) - GNULIB_VFSCANF=3D0; AC_SUBST([GNULIB_VFSCANF]) - GNULIB_VSCANF=3D0; AC_SUBST([GNULIB_VSCANF]) - GNULIB_VDPRINTF=3D0; AC_SUBST([GNULIB_VDPRINTF]) - GNULIB_VFPRINTF=3D0; AC_SUBST([GNULIB_VFPRINTF]) - GNULIB_VFPRINTF_POSIX=3D0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) - GNULIB_VPRINTF=3D0; AC_SUBST([GNULIB_VPRINTF]) - GNULIB_VPRINTF_POSIX=3D0; AC_SUBST([GNULIB_VPRINTF_POSIX]) - GNULIB_VSNPRINTF=3D0; AC_SUBST([GNULIB_VSNPRINTF]) - GNULIB_VSPRINTF_POSIX=3D0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_FCLOSEALL=3D1; AC_SUBST([GNULIB_MDA_FCLOSEALL]) - GNULIB_MDA_FDOPEN=3D1; AC_SUBST([GNULIB_MDA_FDOPEN]) - GNULIB_MDA_FILENO=3D1; AC_SUBST([GNULIB_MDA_FILENO]) - GNULIB_MDA_GETW=3D1; AC_SUBST([GNULIB_MDA_GETW]) - GNULIB_MDA_PUTW=3D1; AC_SUBST([GNULIB_MDA_PUTW]) - GNULIB_MDA_TEMPNAM=3D1; AC_SUBST([GNULIB_MDA_TEMPNAM]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_FCLOSEALL=3D1; AC_SUBST([HAVE_DECL_FCLOSEALL]) HAVE_DECL_FPURGE=3D1; AC_SUBST([HAVE_DECL_FPURGE]) diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 index 5fdb0a706..9c1d1c76c 100644 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,10 +1,10 @@ -# stdlib_h.m4 serial 59 +# stdlib_h.m4 serial 63 dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_STDLIB_H], +AC_DEFUN_ONCE([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_NEXT_HEADERS([stdlib.h]) @@ -46,63 +46,78 @@ AC_DEFUN([gl_STDLIB_H], fi ]) =20 +# gl_STDLIB_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STDLIB_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMPS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMPS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_MEMALIGN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_OPENPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOULL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYSTEM_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLOCKPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNSETENV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOMB]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ECVT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCVT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GCVT], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKTEMP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTENV], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) +]) + AC_DEFUN([gl_STDLIB_H_DEFAULTS], [ - GNULIB__EXIT=3D0; AC_SUBST([GNULIB__EXIT]) - GNULIB_ALIGNED_ALLOC=3D0; AC_SUBST([GNULIB_ALIGNED_ALLOC]) - GNULIB_ATOLL=3D0; AC_SUBST([GNULIB_ATOLL]) - GNULIB_CALLOC_POSIX=3D0; AC_SUBST([GNULIB_CALLOC_POSIX]) - GNULIB_CANONICALIZE_FILE_NAME=3D0; AC_SUBST([GNULIB_CANONICALIZE_FILE_N= AME]) - GNULIB_FREE_POSIX=3D0; AC_SUBST([GNULIB_FREE_POSIX]) - GNULIB_GETLOADAVG=3D0; AC_SUBST([GNULIB_GETLOADAVG]) - GNULIB_GETSUBOPT=3D0; AC_SUBST([GNULIB_GETSUBOPT]) - GNULIB_GRANTPT=3D0; AC_SUBST([GNULIB_GRANTPT]) - GNULIB_MALLOC_POSIX=3D0; AC_SUBST([GNULIB_MALLOC_POSIX]) - GNULIB_MBTOWC=3D0; AC_SUBST([GNULIB_MBTOWC]) - GNULIB_MKDTEMP=3D0; AC_SUBST([GNULIB_MKDTEMP]) - GNULIB_MKOSTEMP=3D0; AC_SUBST([GNULIB_MKOSTEMP]) - GNULIB_MKOSTEMPS=3D0; AC_SUBST([GNULIB_MKOSTEMPS]) - GNULIB_MKSTEMP=3D0; AC_SUBST([GNULIB_MKSTEMP]) - GNULIB_MKSTEMPS=3D0; AC_SUBST([GNULIB_MKSTEMPS]) - GNULIB_POSIX_MEMALIGN=3D0;AC_SUBST([GNULIB_POSIX_MEMALIGN]) - GNULIB_POSIX_OPENPT=3D0; AC_SUBST([GNULIB_POSIX_OPENPT]) - GNULIB_PTSNAME=3D0; AC_SUBST([GNULIB_PTSNAME]) - GNULIB_PTSNAME_R=3D0; AC_SUBST([GNULIB_PTSNAME_R]) - GNULIB_PUTENV=3D0; AC_SUBST([GNULIB_PUTENV]) - GNULIB_QSORT_R=3D0; AC_SUBST([GNULIB_QSORT_R]) - GNULIB_RANDOM=3D0; AC_SUBST([GNULIB_RANDOM]) - GNULIB_RANDOM_R=3D0; AC_SUBST([GNULIB_RANDOM_R]) - GNULIB_REALLOCARRAY=3D0; AC_SUBST([GNULIB_REALLOCARRAY]) - GNULIB_REALLOC_POSIX=3D0; AC_SUBST([GNULIB_REALLOC_POSIX]) - GNULIB_REALPATH=3D0; AC_SUBST([GNULIB_REALPATH]) - GNULIB_RPMATCH=3D0; AC_SUBST([GNULIB_RPMATCH]) - GNULIB_SECURE_GETENV=3D0; AC_SUBST([GNULIB_SECURE_GETENV]) - GNULIB_SETENV=3D0; AC_SUBST([GNULIB_SETENV]) - GNULIB_STRTOD=3D0; AC_SUBST([GNULIB_STRTOD]) - GNULIB_STRTOL=3D0; AC_SUBST([GNULIB_STRTOL]) - GNULIB_STRTOLD=3D0; AC_SUBST([GNULIB_STRTOLD]) - GNULIB_STRTOLL=3D0; AC_SUBST([GNULIB_STRTOLL]) - GNULIB_STRTOUL=3D0; AC_SUBST([GNULIB_STRTOUL]) - GNULIB_STRTOULL=3D0; AC_SUBST([GNULIB_STRTOULL]) - GNULIB_SYSTEM_POSIX=3D0; AC_SUBST([GNULIB_SYSTEM_POSIX]) - GNULIB_UNLOCKPT=3D0; AC_SUBST([GNULIB_UNLOCKPT]) - GNULIB_UNSETENV=3D0; AC_SUBST([GNULIB_UNSETENV]) - GNULIB_WCTOMB=3D0; AC_SUBST([GNULIB_WCTOMB]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_ECVT=3D1; AC_SUBST([GNULIB_MDA_ECVT]) - GNULIB_MDA_FCVT=3D1; AC_SUBST([GNULIB_MDA_FCVT]) - GNULIB_MDA_GCVT=3D1; AC_SUBST([GNULIB_MDA_GCVT]) - GNULIB_MDA_MKTEMP=3D1; AC_SUBST([GNULIB_MDA_MKTEMP]) - GNULIB_MDA_PUTENV=3D1; AC_SUBST([GNULIB_MDA_PUTENV]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE__EXIT=3D1; AC_SUBST([HAVE__EXIT]) HAVE_ALIGNED_ALLOC=3D1; AC_SUBST([HAVE_ALIGNED_ALLOC]) @@ -164,6 +179,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], REPLACE_RANDOM=3D0; AC_SUBST([REPLACE_RANDOM]) REPLACE_RANDOM_R=3D0; AC_SUBST([REPLACE_RANDOM_R]) REPLACE_REALLOC=3D0; AC_SUBST([REPLACE_REALLOC]) + REPLACE_REALLOCARRAY=3D0; AC_SUBST([REPLACE_REALLOCARRAY]) REPLACE_REALPATH=3D0; AC_SUBST([REPLACE_REALPATH]) REPLACE_SETENV=3D0; AC_SUBST([REPLACE_SETENV]) REPLACE_SETSTATE=3D0; AC_SUBST([REPLACE_SETSTATE]) diff --git a/m4/strdup.m4 b/m4/strdup.m4 index f6f421d94..5b6018ff2 100644 --- a/m4/strdup.m4 +++ b/m4/strdup.m4 @@ -1,4 +1,4 @@ -# strdup.m4 serial 14 +# strdup.m4 serial 15 =20 dnl Copyright (C) 2002-2021 Free Software Foundation, Inc. =20 @@ -8,7 +8,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 AC_DEFUN([gl_FUNC_STRDUP], [ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup =3D no; then HAVE_DECL_STRDUP=3D0 @@ -17,7 +17,7 @@ AC_DEFUN([gl_FUNC_STRDUP], =20 AC_DEFUN([gl_FUNC_STRDUP_POSIX], [ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix !=3D yes; then REPLACE_STRDUP=3D1 diff --git a/m4/string_h.m4 b/m4/string_h.m4 index a4cc5b437..80d1e5875 100644 --- a/m4/string_h.m4 +++ b/m4/string_h.m4 @@ -5,20 +5,15 @@ # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. =20 -# serial 29 +# serial 32 =20 # Written by Paul Eggert. =20 -AC_DEFUN([gl_HEADER_STRING_H], +AC_DEFUN_ONCE([gl_STRING_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_STRING_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_STRING_H_BODY], -[ - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. + AC_REQUIRE([gl_STRING_H_DEFAULTS]) gl_NEXT_HEADERS([string.h]) =20 dnl Check for declarations of anything we want to poison if the @@ -33,62 +28,77 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], AC_REQUIRE([AC_C_RESTRICT]) ]) =20 +# gl_STRING_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_STRING_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_STRING_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 -AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPLICIT_BZERO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCASESTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOK_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASESTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPBRK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOK_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERRORNAME_NP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGABBREV_NP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGDESCR_NP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSIGNAL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRVERSCMP]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MEMCCPY], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_STRDUP], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_STRING_H_DEFAULTS]) +]) + +AC_DEFUN([gl_STRING_H_DEFAULTS], [ - GNULIB_EXPLICIT_BZERO=3D0; AC_SUBST([GNULIB_EXPLICIT_BZERO]) - GNULIB_FFSL=3D0; AC_SUBST([GNULIB_FFSL]) - GNULIB_FFSLL=3D0; AC_SUBST([GNULIB_FFSLL]) - GNULIB_MEMCHR=3D0; AC_SUBST([GNULIB_MEMCHR]) - GNULIB_MEMMEM=3D0; AC_SUBST([GNULIB_MEMMEM]) - GNULIB_MEMPCPY=3D0; AC_SUBST([GNULIB_MEMPCPY]) - GNULIB_MEMRCHR=3D0; AC_SUBST([GNULIB_MEMRCHR]) - GNULIB_RAWMEMCHR=3D0; AC_SUBST([GNULIB_RAWMEMCHR]) - GNULIB_STPCPY=3D0; AC_SUBST([GNULIB_STPCPY]) - GNULIB_STPNCPY=3D0; AC_SUBST([GNULIB_STPNCPY]) - GNULIB_STRCHRNUL=3D0; AC_SUBST([GNULIB_STRCHRNUL]) - GNULIB_STRDUP=3D0; AC_SUBST([GNULIB_STRDUP]) - GNULIB_STRNCAT=3D0; AC_SUBST([GNULIB_STRNCAT]) - GNULIB_STRNDUP=3D0; AC_SUBST([GNULIB_STRNDUP]) - GNULIB_STRNLEN=3D0; AC_SUBST([GNULIB_STRNLEN]) - GNULIB_STRPBRK=3D0; AC_SUBST([GNULIB_STRPBRK]) - GNULIB_STRSEP=3D0; AC_SUBST([GNULIB_STRSEP]) - GNULIB_STRSTR=3D0; AC_SUBST([GNULIB_STRSTR]) - GNULIB_STRCASESTR=3D0; AC_SUBST([GNULIB_STRCASESTR]) - GNULIB_STRTOK_R=3D0; AC_SUBST([GNULIB_STRTOK_R]) - GNULIB_MBSLEN=3D0; AC_SUBST([GNULIB_MBSLEN]) - GNULIB_MBSNLEN=3D0; AC_SUBST([GNULIB_MBSNLEN]) - GNULIB_MBSCHR=3D0; AC_SUBST([GNULIB_MBSCHR]) - GNULIB_MBSRCHR=3D0; AC_SUBST([GNULIB_MBSRCHR]) - GNULIB_MBSSTR=3D0; AC_SUBST([GNULIB_MBSSTR]) - GNULIB_MBSCASECMP=3D0; AC_SUBST([GNULIB_MBSCASECMP]) - GNULIB_MBSNCASECMP=3D0; AC_SUBST([GNULIB_MBSNCASECMP]) - GNULIB_MBSPCASECMP=3D0; AC_SUBST([GNULIB_MBSPCASECMP]) - GNULIB_MBSCASESTR=3D0; AC_SUBST([GNULIB_MBSCASESTR]) - GNULIB_MBSCSPN=3D0; AC_SUBST([GNULIB_MBSCSPN]) - GNULIB_MBSPBRK=3D0; AC_SUBST([GNULIB_MBSPBRK]) - GNULIB_MBSSPN=3D0; AC_SUBST([GNULIB_MBSSPN]) - GNULIB_MBSSEP=3D0; AC_SUBST([GNULIB_MBSSEP]) - GNULIB_MBSTOK_R=3D0; AC_SUBST([GNULIB_MBSTOK_R]) - GNULIB_STRERROR=3D0; AC_SUBST([GNULIB_STRERROR]) - GNULIB_STRERROR_R=3D0; AC_SUBST([GNULIB_STRERROR_R]) - GNULIB_STRERRORNAME_NP=3D0; AC_SUBST([GNULIB_STRERRORNAME_NP]) - GNULIB_SIGABBREV_NP=3D0; AC_SUBST([GNULIB_SIGABBREV_NP]) - GNULIB_SIGDESCR_NP=3D0; AC_SUBST([GNULIB_SIGDESCR_NP]) - GNULIB_STRSIGNAL=3D0; AC_SUBST([GNULIB_STRSIGNAL]) - GNULIB_STRVERSCMP=3D0; AC_SUBST([GNULIB_STRVERSCMP]) HAVE_MBSLEN=3D0; AC_SUBST([HAVE_MBSLEN]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_MEMCCPY=3D1; AC_SUBST([GNULIB_MDA_MEMCCPY]) - GNULIB_MDA_STRDUP=3D1; AC_SUBST([GNULIB_MDA_STRDUP]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_EXPLICIT_BZERO=3D1; AC_SUBST([HAVE_EXPLICIT_BZERO]) HAVE_FFSL=3D1; AC_SUBST([HAVE_FFSL]) diff --git a/m4/sys_file_h.m4 b/m4/sys_file_h.m4 index 99c2285dd..bcde4d70b 100644 --- a/m4/sys_file_h.m4 +++ b/m4/sys_file_h.m4 @@ -1,5 +1,5 @@ # Configure a replacement for . -# serial 6 +# serial 9 =20 # Copyright (C) 2008-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -8,9 +8,9 @@ =20 # Written by Richard W.M. Jones. =20 -AC_DEFUN([gl_HEADER_SYS_FILE_H], +AC_DEFUN_ONCE([gl_SYS_FILE_H], [ - AC_REQUIRE([gl_HEADER_SYS_FILE_H_DEFAULTS]) + AC_REQUIRE([gl_SYS_FILE_H_DEFAULTS]) =20 dnl is always overridden, because of GNULIB_POSIXCHECK. gl_CHECK_NEXT_HEADERS([sys/file.h]) @@ -28,14 +28,29 @@ AC_DEFUN([gl_HEADER_SYS_FILE_H], ]], [flock]) ]) =20 -AC_DEFUN([gl_HEADER_SYS_FILE_MODULE_INDICATOR], +# gl_SYS_FILE_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. +AC_DEFUN([gl_SYS_FILE_MODULE_INDICATOR], [ - AC_REQUIRE([gl_HEADER_SYS_FILE_H_DEFAULTS]) + gl_SYS_FILE_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) =20 -AC_DEFUN([gl_HEADER_SYS_FILE_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_FILE_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_FILE_H_MODULE_INDICATOR_DEFAULT= S], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOCK]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_FILE_H_MODULE_INDICATOR_DEFAU= LTS]) + AC_REQUIRE([gl_SYS_FILE_H_DEFAULTS]) +]) + +AC_DEFUN([gl_SYS_FILE_H_DEFAULTS], [ - GNULIB_FLOCK=3D0; AC_SUBST([GNULIB_FLOCK]) HAVE_FLOCK=3D1; AC_SUBST([HAVE_FLOCK]) ]) diff --git a/m4/sys_random_h.m4 b/m4/sys_random_h.m4 index 45e0469ba..37bc31606 100644 --- a/m4/sys_random_h.m4 +++ b/m4/sys_random_h.m4 @@ -1,10 +1,10 @@ -# sys_random_h.m4 serial 5 +# sys_random_h.m4 serial 8 dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_HEADER_SYS_RANDOM], +AC_DEFUN_ONCE([gl_SYS_RANDOM_H], [ AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. @@ -35,18 +35,33 @@ AC_DEFUN([gl_HEADER_SYS_RANDOM], [getrandom]) ]) =20 +# gl_SYS_RANDOM_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_RANDOM_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_RANDOM_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_RANDOM_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_RANDOM_H_MODULE_INDICATOR_DEFAU= LTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETRANDOM]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_RANDOM_H_MODULE_INDICATOR_DEF= AULTS]) + AC_REQUIRE([gl_SYS_RANDOM_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_RANDOM_H_DEFAULTS], [ - GNULIB_GETRANDOM=3D0; AC_SUBST([GNULIB_GETRANDOM]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_GETRANDOM=3D1; AC_SUBST([HAVE_GETRANDOM]) REPLACE_GETRANDOM=3D0; AC_SUBST([REPLACE_GETRANDOM]) diff --git a/m4/sys_select_h.m4 b/m4/sys_select_h.m4 index 4b33d312e..2e7d140de 100644 --- a/m4/sys_select_h.m4 +++ b/m4/sys_select_h.m4 @@ -1,13 +1,13 @@ -# sys_select_h.m4 serial 20 +# sys_select_h.m4 serial 23 dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_HEADER_SYS_SELECT], +AC_DEFUN_ONCE([gl_SYS_SELECT_H], [ - AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) + AC_REQUIRE([AC_C_RESTRICT]) AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_select_h_selfcontained], [ @@ -75,19 +75,34 @@ AC_DEFUN([gl_HEADER_SYS_SELECT], ]], [pselect select]) ]) =20 +# gl_SYS_SELECT_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_SELECT_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_SELECT_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_SELECT_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SELECT_H_MODULE_INDICATOR_DEFAU= LTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PSELECT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SELECT]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SELECT_H_MODULE_INDICATOR_DEF= AULTS]) + AC_REQUIRE([gl_SYS_SELECT_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_SELECT_H_DEFAULTS], [ - GNULIB_PSELECT=3D0; AC_SUBST([GNULIB_PSELECT]) - GNULIB_SELECT=3D0; AC_SUBST([GNULIB_SELECT]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_PSELECT=3D1; AC_SUBST([HAVE_PSELECT]) REPLACE_PSELECT=3D0; AC_SUBST([REPLACE_PSELECT]) diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4 index 503cb9668..5676a0d21 100644 --- a/m4/sys_socket_h.m4 +++ b/m4/sys_socket_h.m4 @@ -1,4 +1,4 @@ -# sys_socket_h.m4 serial 25 +# sys_socket_h.m4 serial 28 dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 dnl From Simon Josefsson. =20 -AC_DEFUN([gl_HEADER_SYS_SOCKET], +AC_DEFUN_ONCE([gl_SYS_SOCKET_H], [ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) @@ -156,32 +156,47 @@ AC_DEFUN([gl_PREREQ_SYS_H_WS2TCPIP], AC_SUBST([HAVE_WS2TCPIP_H]) ]) =20 +# gl_SYS_SOCKET_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_SOCKET_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_SOCKET_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAU= LTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SOCKET]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CONNECT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BIND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPEERNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LISTEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SEND]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECVFROM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SENDTO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETSOCKOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SHUTDOWN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT4]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEF= AULTS]) + AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], [ - GNULIB_SOCKET=3D0; AC_SUBST([GNULIB_SOCKET]) - GNULIB_CONNECT=3D0; AC_SUBST([GNULIB_CONNECT]) - GNULIB_ACCEPT=3D0; AC_SUBST([GNULIB_ACCEPT]) - GNULIB_BIND=3D0; AC_SUBST([GNULIB_BIND]) - GNULIB_GETPEERNAME=3D0; AC_SUBST([GNULIB_GETPEERNAME]) - GNULIB_GETSOCKNAME=3D0; AC_SUBST([GNULIB_GETSOCKNAME]) - GNULIB_GETSOCKOPT=3D0; AC_SUBST([GNULIB_GETSOCKOPT]) - GNULIB_LISTEN=3D0; AC_SUBST([GNULIB_LISTEN]) - GNULIB_RECV=3D0; AC_SUBST([GNULIB_RECV]) - GNULIB_SEND=3D0; AC_SUBST([GNULIB_SEND]) - GNULIB_RECVFROM=3D0; AC_SUBST([GNULIB_RECVFROM]) - GNULIB_SENDTO=3D0; AC_SUBST([GNULIB_SENDTO]) - GNULIB_SETSOCKOPT=3D0; AC_SUBST([GNULIB_SETSOCKOPT]) - GNULIB_SHUTDOWN=3D0; AC_SUBST([GNULIB_SHUTDOWN]) - GNULIB_ACCEPT4=3D0; AC_SUBST([GNULIB_ACCEPT4]) HAVE_STRUCT_SOCKADDR_STORAGE=3D1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE= ]) HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=3D1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4 index 23cbdd28e..ac91d425b 100644 --- a/m4/sys_stat_h.m4 +++ b/m4/sys_stat_h.m4 @@ -1,4 +1,4 @@ -# sys_stat_h.m4 serial 38 -*- Autoconf -*- +# sys_stat_h.m4 serial 41 -*- Autoconf -*- dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice i= s preserved. dnl From Eric Blake. dnl Provide a GNU-like . =20 -AC_DEFUN([gl_HEADER_SYS_STAT_H], +AC_DEFUN_ONCE([gl_SYS_STAT_H], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) =20 @@ -52,38 +52,53 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], AC_REQUIRE([AC_C_RESTRICT]) ]) =20 +# gl_SYS_STAT_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_STAT_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_STAT_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULT= S], [ + gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FUTIMENS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUMASK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHMOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSTAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIRAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFO]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFOAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNOD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNODAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UTIMENSAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OVERRIDES_STRUCT_STAT]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHMOD], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKDIR], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UMASK], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAU= LTS]) + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR - GNULIB_FCHMODAT=3D0; AC_SUBST([GNULIB_FCHMODAT]) - GNULIB_FSTAT=3D0; AC_SUBST([GNULIB_FSTAT]) - GNULIB_FSTATAT=3D0; AC_SUBST([GNULIB_FSTATAT]) - GNULIB_FUTIMENS=3D0; AC_SUBST([GNULIB_FUTIMENS]) - GNULIB_GETUMASK=3D0; AC_SUBST([GNULIB_GETUMASK]) - GNULIB_LCHMOD=3D0; AC_SUBST([GNULIB_LCHMOD]) - GNULIB_LSTAT=3D0; AC_SUBST([GNULIB_LSTAT]) - GNULIB_MKDIR=3D0; AC_SUBST([GNULIB_MKDIR]) - GNULIB_MKDIRAT=3D0; AC_SUBST([GNULIB_MKDIRAT]) - GNULIB_MKFIFO=3D0; AC_SUBST([GNULIB_MKFIFO]) - GNULIB_MKFIFOAT=3D0; AC_SUBST([GNULIB_MKFIFOAT]) - GNULIB_MKNOD=3D0; AC_SUBST([GNULIB_MKNOD]) - GNULIB_MKNODAT=3D0; AC_SUBST([GNULIB_MKNODAT]) - GNULIB_STAT=3D0; AC_SUBST([GNULIB_STAT]) - GNULIB_UTIMENSAT=3D0; AC_SUBST([GNULIB_UTIMENSAT]) - GNULIB_OVERRIDES_STRUCT_STAT=3D0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT= ]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_CHMOD=3D1; AC_SUBST([GNULIB_MDA_CHMOD]) - GNULIB_MDA_MKDIR=3D1; AC_SUBST([GNULIB_MDA_MKDIR]) - GNULIB_MDA_UMASK=3D1; AC_SUBST([GNULIB_MDA_UMASK]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_FCHMODAT=3D1; AC_SUBST([HAVE_FCHMODAT]) HAVE_FSTATAT=3D1; AC_SUBST([HAVE_FSTATAT]) diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4 index 64f133d51..c425a9639 100644 --- a/m4/sys_time_h.m4 +++ b/m4/sys_time_h.m4 @@ -1,5 +1,5 @@ # Configure a replacement for . -# serial 9 +# serial 12 =20 # Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -8,18 +8,13 @@ =20 # Written by Paul Eggert and Martin Lambers. =20 -AC_DEFUN([gl_HEADER_SYS_TIME_H], +AC_DEFUN_ONCE([gl_SYS_TIME_H], [ dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=3D0 statement dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=3D1 dnl statements that occur in other macros. - AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], -[ + AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) - AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) gl_CHECK_NEXT_HEADERS([sys/time.h]) =20 @@ -89,18 +84,33 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], ]], [gettimeofday]) ]) =20 +# gl_SYS_TIME_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_TIME_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_TIME_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 -AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_TIME_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TIME_H_MODULE_INDICATOR_DEFAULT= S], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETTIMEOFDAY]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TIME_H_MODULE_INDICATOR_DEFAU= LTS]) + AC_REQUIRE([gl_SYS_TIME_H_DEFAULTS]) +]) + +AC_DEFUN([gl_SYS_TIME_H_DEFAULTS], [ - GNULIB_GETTIMEOFDAY=3D0; AC_SUBST([GNULIB_GETTIMEOFDAY]) dnl Assume POSIX behavior unless another module says otherwise. HAVE_GETTIMEOFDAY=3D1; AC_SUBST([HAVE_GETTIMEOFDAY]) HAVE_STRUCT_TIMEVAL=3D1; AC_SUBST([HAVE_STRUCT_TIMEVAL]) diff --git a/m4/sys_times_h.m4 b/m4/sys_times_h.m4 index b9daaa7ca..577ead66f 100644 --- a/m4/sys_times_h.m4 +++ b/m4/sys_times_h.m4 @@ -1,5 +1,5 @@ # Configure a replacement for . -# serial 8 +# serial 11 =20 # Copyright (C) 2008-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -8,7 +8,7 @@ =20 # Written by Simon Josefsson. =20 -AC_DEFUN([gl_SYS_TIMES_H], +AC_DEFUN_ONCE([gl_SYS_TIMES_H], [ AC_REQUIRE([gl_SYS_TIMES_H_DEFAULTS]) =20 @@ -36,16 +36,31 @@ AC_DEFUN([gl_SYS_TIMES_H], ]], [times]) ]) =20 +# gl_SYS_TIMES_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_TIMES_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SYS_TIMES_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_TIMES_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_TIMES_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TIMES_H_MODULE_INDICATOR_DEFAUL= TS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMES]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TIMES_H_MODULE_INDICATOR_DEFA= ULTS]) + AC_REQUIRE([gl_SYS_TIMES_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_TIMES_H_DEFAULTS], [ - GNULIB_TIMES=3D0; AC_SUBST([GNULIB_TIMES]) HAVE_STRUCT_TMS=3D1; AC_SUBST([HAVE_STRUCT_TMS]) HAVE_TIMES=3D1; AC_SUBST([HAVE_TIMES]) ]) diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4 index 2172c836d..6dd6fee10 100644 --- a/m4/sys_types_h.m4 +++ b/m4/sys_types_h.m4 @@ -1,4 +1,4 @@ -# sys_types_h.m4 serial 11 +# sys_types_h.m4 serial 13 dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,10 +6,11 @@ dnl with or without modifications, as long as this notice= is preserved. =20 AC_DEFUN_ONCE([gl_SYS_TYPES_H], [ + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + dnl Use sane struct stat types in OpenVMS 8.2 and later. AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.]) =20 - AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) gl_NEXT_HEADERS([sys/types.h]) =20 dnl Ensure the type pid_t gets defined. @@ -30,6 +31,17 @@ AC_DEFUN_ONCE([gl_SYS_TYPES_H], AC_SUBST([WINDOWS_STAT_INODES]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_TYPES_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULT= S], [ + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAU= LTS]) + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], [ ]) diff --git a/m4/sys_uio_h.m4 b/m4/sys_uio_h.m4 index 503de4d1f..fa176e0b6 100644 --- a/m4/sys_uio_h.m4 +++ b/m4/sys_uio_h.m4 @@ -1,10 +1,10 @@ -# sys_uio_h.m4 serial 1 +# sys_uio_h.m4 serial 3 dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. =20 -AC_DEFUN([gl_HEADER_SYS_UIO], +AC_DEFUN_ONCE([gl_SYS_UIO_H], [ AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) dnl is always overridden, because of GNULIB_POSIXCHECK. @@ -17,15 +17,30 @@ AC_DEFUN([gl_HEADER_SYS_UIO], AC_SUBST([HAVE_SYS_UIO_H]) ]) =20 +# gl_SYS_UIO_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_SYS_UIO_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_SYS_UIO_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_SYS_UIO_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_UIO_H_MODULE_INDICATOR_DEFAULTS= ], [ + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_UIO_H_MODULE_INDICATOR_DEFAUL= TS]) + AC_REQUIRE([gl_SYS_UIO_H_DEFAULTS]) +]) + AC_DEFUN([gl_SYS_UIO_H_DEFAULTS], [ ]) diff --git a/m4/threadlib.m4 b/m4/threadlib.m4 index 8fc3dfd1f..37b797c18 100644 --- a/m4/threadlib.m4 +++ b/m4/threadlib.m4 @@ -1,4 +1,4 @@ -# threadlib.m4 serial 30 +# threadlib.m4 serial 31 dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -212,6 +212,27 @@ AC_DEFUN([gl_PTHREADLIB_BODY], LIBS=3D$save_LIBS test $gl_pthread_api =3D yes && break done + echo "$as_me:__oline__: gl_pthread_api=3D$gl_pthread_api" >&AS_MESSA= GE_LOG_FD + echo "$as_me:__oline__: LIBPTHREAD=3D$LIBPTHREAD" >&AS_MESSAGE_LOG_FD + + gl_pthread_in_glibc=3Dno + # On Linux with glibc >=3D 2.34, libc contains the fully functional + # pthread functions. + case "$host_os" in + linux*) + AC_EGREP_CPP([Lucky user], + [#include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ >=3D 34) || (__GL= IBC__ > 2) + Lucky user + #endif + #endif + ], + [gl_pthread_in_glibc=3Dyes], + []) + ;; + esac + echo "$as_me:__oline__: gl_pthread_in_glibc=3D$gl_pthread_in_glibc" = >&AS_MESSAGE_LOG_FD =20 # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) @@ -219,18 +240,22 @@ AC_DEFUN([gl_PTHREADLIB_BODY], # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. AC_CHECK_LIB([pthread], [pthread_kill], - [LIBPMULTITHREAD=3D-lpthread - # On Solaris and HP-UX, most pthread functions exist also in li= bc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - # On Solaris 10 or newer, this test is no longer needed, because - # libc contains the fully functional pthread functions. - case "$host_os" in - solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) - AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], - [Define if the pthread_in_use() detection is hard.]) - esac + [if test $gl_pthread_in_glibc =3D yes; then + LIBPMULTITHREAD=3D + else + LIBPMULTITHREAD=3D-lpthread + # On Solaris and HP-UX, most pthread functions exist also in = libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + # On Solaris 10 or newer, this test is no longer needed, beca= use + # libc contains the fully functional pthread functions. + case "$host_os" in + solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) + AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], + [Define if the pthread_in_use() detection is hard.]) + esac + fi ]) elif test $gl_pthread_api !=3D yes; then # Some library is needed. Try libpthread and libc_r. @@ -246,6 +271,7 @@ AC_DEFUN([gl_PTHREADLIB_BODY], LIBPMULTITHREAD=3D-lc_r]) fi fi + echo "$as_me:__oline__: LIBPMULTITHREAD=3D$LIBPMULTITHREAD" >&AS_MES= SAGE_LOG_FD fi AC_MSG_CHECKING([whether POSIX threads API is available]) AC_MSG_RESULT([$gl_pthread_api]) @@ -311,7 +337,8 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], dnl glibc >=3D 2.29 has thrd_create in libpthread. dnl FreeBSD >=3D 10 has thrd_create in libstdthreads; this libra= ry depends dnl on libpthread (for the symbol 'pthread_mutexattr_gettype'). - dnl AIX >=3D 7.1 and Solaris >=3D 11.4 have thrd_create in libc. + dnl glibc >=3D 2.34, AIX >=3D 7.1, and Solaris >=3D 11.4 have th= rd_create in + dnl libc. AC_CHECK_FUNCS([thrd_create]) if test $ac_cv_func_thrd_create =3D yes; then LIBSTDTHREAD=3D @@ -481,7 +508,10 @@ AC_DEFUN([gl_THREADLIB_BODY], gl_threads_api=3Dposix AC_DEFINE([USE_POSIX_THREADS], [1], [Define if the POSIX multithreading library can be used.]) - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if test -z "$LIBMULTITHREAD" && test -z "$LTLIBMULTITHREAD"; then + AC_DEFINE([USE_POSIX_THREADS_FROM_LIBC], [1], + [Define if references to the POSIX multithreading library ar= e satisfied by libc.]) + else if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; th= en AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], [Define if references to the POSIX multithreading library = should be made weak.]) @@ -576,7 +606,9 @@ dnl flavours option weak = result dnl --------------- --------- --------- -------- --------- dnl Linux 2.4/glibc posix -lpthread Y OK dnl -dnl GNU Hurd/glibc posix +dnl Linux/glibc 2.34 posix Y OK +dnl +dnl GNU Hurd/glibc posix -lpthread Y OK dnl dnl Ubuntu 14.04 posix -pthread Y OK dnl diff --git a/m4/time_h.m4 b/m4/time_h.m4 index b6a1aa3bc..b57474b48 100644 --- a/m4/time_h.m4 +++ b/m4/time_h.m4 @@ -2,7 +2,7 @@ =20 # Copyright (C) 2000-2001, 2003-2007, 2009-2021 Free Software Foundation, = Inc. =20 -# serial 15 +# serial 18 =20 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -10,16 +10,11 @@ =20 # Written by Paul Eggert and Jim Meyering. =20 -AC_DEFUN([gl_HEADER_TIME_H], +AC_DEFUN_ONCE([gl_TIME_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. - AC_REQUIRE([gl_HEADER_TIME_H_BODY]) -]) - -AC_DEFUN([gl_HEADER_TIME_H_BODY], -[ - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. + AC_REQUIRE([gl_TIME_H_DEFAULTS]) =20 gl_NEXT_HEADERS([time.h]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) @@ -111,30 +106,45 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC]) ]) =20 +# gl_TIME_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_TIME_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_TIME_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 -AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS], [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TZSET], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) +]) + +AC_DEFUN([gl_TIME_H_DEFAULTS], [ - GNULIB_CTIME=3D0; AC_SUBST([GNULIB_CTIME]) - GNULIB_MKTIME=3D0; AC_SUBST([GNULIB_MKTIME]) - GNULIB_LOCALTIME=3D0; AC_SUBST([GNULIB_LOCALTIME]) - GNULIB_NANOSLEEP=3D0; AC_SUBST([GNULIB_NANOSLEEP]) - GNULIB_STRFTIME=3D0; AC_SUBST([GNULIB_STRFTIME]) - GNULIB_STRPTIME=3D0; AC_SUBST([GNULIB_STRPTIME]) - GNULIB_TIMEGM=3D0; AC_SUBST([GNULIB_TIMEGM]) - GNULIB_TIMESPEC_GET=3D0; AC_SUBST([GNULIB_TIMESPEC_GET]) - GNULIB_TIME_R=3D0; AC_SUBST([GNULIB_TIME_R]) - GNULIB_TIME_RZ=3D0; AC_SUBST([GNULIB_TIME_RZ]) - GNULIB_TZSET=3D0; AC_SUBST([GNULIB_TZSET]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_TZSET=3D1; AC_SUBST([GNULIB_MDA_TZSET]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_LOCALTIME_R=3D1; AC_SUBST([HAVE_DECL_LOCALTIME_R= ]) HAVE_NANOSLEEP=3D1; AC_SUBST([HAVE_NANOSLEEP]) diff --git a/m4/time_r.m4 b/m4/time_r.m4 index 713e93ac2..2d49b64f1 100644 --- a/m4/time_r.m4 +++ b/m4/time_r.m4 @@ -12,7 +12,7 @@ AC_DEFUN([gl_TIME_R], dnl Persuade glibc and Solaris to declare localtime_r. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) =20 - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) =20 dnl Some systems don't declare localtime_r() and gmtime_r() if _REENTRAN= T is diff --git a/m4/time_rz.m4 b/m4/time_rz.m4 index 34ef0bab4..c5e85dc62 100644 --- a/m4/time_rz.m4 +++ b/m4/time_rz.m4 @@ -10,7 +10,7 @@ dnl Written by Paul Eggert. AC_DEFUN([gl_TIME_RZ], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) AC_REQUIRE([AC_STRUCT_TIMEZONE]) =20 # On Mac OS X 10.6, localtime loops forever with some time_t values. diff --git a/m4/timegm.m4 b/m4/timegm.m4 index 098c857e7..58123beb0 100644 --- a/m4/timegm.m4 +++ b/m4/timegm.m4 @@ -1,4 +1,4 @@ -# timegm.m4 serial 12 +# timegm.m4 serial 13 dnl Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,7 +6,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 AC_DEFUN([gl_FUNC_TIMEGM], [ - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_MKTIME_WORKS]) REPLACE_TIMEGM=3D0 AC_CHECK_FUNCS_ONCE([timegm]) diff --git a/m4/tzset.m4 b/m4/tzset.m4 index 8eaf41f41..8a4f28557 100644 --- a/m4/tzset.m4 +++ b/m4/tzset.m4 @@ -1,4 +1,4 @@ -# serial 15 +# serial 16 =20 # Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -9,7 +9,7 @@ =20 AC_DEFUN([gl_FUNC_TZSET], [ - AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) + AC_REQUIRE([gl_TIME_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) REPLACE_TZSET=3D0 case "$host_os" in diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index 0f26fb908..0ce4ea451 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,4 +1,4 @@ -# unistd_h.m4 serial 85 +# unistd_h.m4 serial 89 dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,10 +6,10 @@ dnl with or without modifications, as long as this notice= is preserved. =20 dnl Written by Simon Josefsson, Bruno Haible. =20 -AC_DEFUN([gl_UNISTD_H], +AC_DEFUN_ONCE([gl_UNISTD_H], [ - dnl Use AC_REQUIRE here, so that the default behavior below is expanded - dnl once only, before all statements that occur in other macros. + dnl Ensure to expand the default settings once only, before all statemen= ts + dnl that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) =20 gl_CHECK_NEXT_HEADERS([unistd.h]) @@ -59,100 +59,116 @@ AC_DEFUN([gl_UNISTD_H], fi ]) =20 +# gl_UNISTD_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_UNISTD_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCESS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHOWN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPY_FILE_RANGE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP2]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP3]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ENVIRON]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EUIDACCESS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECV]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FACCESSAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHOWNAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDATASYNC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSYNC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTRUNCATE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCWD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDOMAINNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDTABLESIZE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETENTROPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETGROUPS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETHOSTNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHOWN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSEEK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE2]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PREAD]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PWRITE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READ]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RMDIR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETHOSTNAME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SLEEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCATE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TTYNAME_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_NONBLOCKING]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_SIGPIPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINKAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_USLEEP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WRITE]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ACCESS], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHDIR], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CLOSE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP2], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECL], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECV], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVP], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVPE], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETCWD], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETPID], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ISATTY], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_LSEEK], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_READ], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_RMDIR], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_SWAB], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UNLINK], [1]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WRITE], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) +]) + AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ - GNULIB_ACCESS=3D0; AC_SUBST([GNULIB_ACCESS]) - GNULIB_CHDIR=3D0; AC_SUBST([GNULIB_CHDIR]) - GNULIB_CHOWN=3D0; AC_SUBST([GNULIB_CHOWN]) - GNULIB_CLOSE=3D0; AC_SUBST([GNULIB_CLOSE]) - GNULIB_COPY_FILE_RANGE=3D0; AC_SUBST([GNULIB_COPY_FILE_RANGE]) - GNULIB_DUP=3D0; AC_SUBST([GNULIB_DUP]) - GNULIB_DUP2=3D0; AC_SUBST([GNULIB_DUP2]) - GNULIB_DUP3=3D0; AC_SUBST([GNULIB_DUP3]) - GNULIB_ENVIRON=3D0; AC_SUBST([GNULIB_ENVIRON]) - GNULIB_EUIDACCESS=3D0; AC_SUBST([GNULIB_EUIDACCESS]) - GNULIB_EXECL=3D0; AC_SUBST([GNULIB_EXECL]) - GNULIB_EXECLE=3D0; AC_SUBST([GNULIB_EXECLE]) - GNULIB_EXECLP=3D0; AC_SUBST([GNULIB_EXECLP]) - GNULIB_EXECV=3D0; AC_SUBST([GNULIB_EXECV]) - GNULIB_EXECVE=3D0; AC_SUBST([GNULIB_EXECVE]) - GNULIB_EXECVP=3D0; AC_SUBST([GNULIB_EXECVP]) - GNULIB_EXECVPE=3D0; AC_SUBST([GNULIB_EXECVPE]) - GNULIB_FACCESSAT=3D0; AC_SUBST([GNULIB_FACCESSAT]) - GNULIB_FCHDIR=3D0; AC_SUBST([GNULIB_FCHDIR]) - GNULIB_FCHOWNAT=3D0; AC_SUBST([GNULIB_FCHOWNAT]) - GNULIB_FDATASYNC=3D0; AC_SUBST([GNULIB_FDATASYNC]) - GNULIB_FSYNC=3D0; AC_SUBST([GNULIB_FSYNC]) - GNULIB_FTRUNCATE=3D0; AC_SUBST([GNULIB_FTRUNCATE]) - GNULIB_GETCWD=3D0; AC_SUBST([GNULIB_GETCWD]) - GNULIB_GETDOMAINNAME=3D0; AC_SUBST([GNULIB_GETDOMAINNAME]) - GNULIB_GETDTABLESIZE=3D0; AC_SUBST([GNULIB_GETDTABLESIZE]) - GNULIB_GETENTROPY=3D0; AC_SUBST([GNULIB_GETENTROPY]) - GNULIB_GETGROUPS=3D0; AC_SUBST([GNULIB_GETGROUPS]) - GNULIB_GETHOSTNAME=3D0; AC_SUBST([GNULIB_GETHOSTNAME]) - GNULIB_GETLOGIN=3D0; AC_SUBST([GNULIB_GETLOGIN]) - GNULIB_GETLOGIN_R=3D0; AC_SUBST([GNULIB_GETLOGIN_R]) - GNULIB_GETOPT_POSIX=3D0; AC_SUBST([GNULIB_GETOPT_POSIX]) - GNULIB_GETPAGESIZE=3D0; AC_SUBST([GNULIB_GETPAGESIZE]) - GNULIB_GETPASS=3D0; AC_SUBST([GNULIB_GETPASS]) - GNULIB_GETUSERSHELL=3D0; AC_SUBST([GNULIB_GETUSERSHELL]) - GNULIB_GROUP_MEMBER=3D0; AC_SUBST([GNULIB_GROUP_MEMBER]) - GNULIB_ISATTY=3D0; AC_SUBST([GNULIB_ISATTY]) - GNULIB_LCHOWN=3D0; AC_SUBST([GNULIB_LCHOWN]) - GNULIB_LINK=3D0; AC_SUBST([GNULIB_LINK]) - GNULIB_LINKAT=3D0; AC_SUBST([GNULIB_LINKAT]) - GNULIB_LSEEK=3D0; AC_SUBST([GNULIB_LSEEK]) - GNULIB_PIPE=3D0; AC_SUBST([GNULIB_PIPE]) - GNULIB_PIPE2=3D0; AC_SUBST([GNULIB_PIPE2]) - GNULIB_PREAD=3D0; AC_SUBST([GNULIB_PREAD]) - GNULIB_PWRITE=3D0; AC_SUBST([GNULIB_PWRITE]) - GNULIB_READ=3D0; AC_SUBST([GNULIB_READ]) - GNULIB_READLINK=3D0; AC_SUBST([GNULIB_READLINK]) - GNULIB_READLINKAT=3D0; AC_SUBST([GNULIB_READLINKAT]) - GNULIB_RMDIR=3D0; AC_SUBST([GNULIB_RMDIR]) - GNULIB_SETHOSTNAME=3D0; AC_SUBST([GNULIB_SETHOSTNAME]) - GNULIB_SLEEP=3D0; AC_SUBST([GNULIB_SLEEP]) - GNULIB_SYMLINK=3D0; AC_SUBST([GNULIB_SYMLINK]) - GNULIB_SYMLINKAT=3D0; AC_SUBST([GNULIB_SYMLINKAT]) - GNULIB_TRUNCATE=3D0; AC_SUBST([GNULIB_TRUNCATE]) - GNULIB_TTYNAME_R=3D0; AC_SUBST([GNULIB_TTYNAME_R]) - GNULIB_UNISTD_H_NONBLOCKING=3D0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) - GNULIB_UNISTD_H_SIGPIPE=3D0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) - GNULIB_UNLINK=3D0; AC_SUBST([GNULIB_UNLINK]) - GNULIB_UNLINKAT=3D0; AC_SUBST([GNULIB_UNLINKAT]) - GNULIB_USLEEP=3D0; AC_SUBST([GNULIB_USLEEP]) - GNULIB_WRITE=3D0; AC_SUBST([GNULIB_WRITE]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_ACCESS=3D1; AC_SUBST([GNULIB_MDA_ACCESS]) - GNULIB_MDA_CHDIR=3D1; AC_SUBST([GNULIB_MDA_CHDIR]) - GNULIB_MDA_CLOSE=3D1; AC_SUBST([GNULIB_MDA_CLOSE]) - GNULIB_MDA_DUP=3D1; AC_SUBST([GNULIB_MDA_DUP]) - GNULIB_MDA_DUP2=3D1; AC_SUBST([GNULIB_MDA_DUP2]) - GNULIB_MDA_EXECL=3D1; AC_SUBST([GNULIB_MDA_EXECL]) - GNULIB_MDA_EXECLE=3D1; AC_SUBST([GNULIB_MDA_EXECLE]) - GNULIB_MDA_EXECLP=3D1; AC_SUBST([GNULIB_MDA_EXECLP]) - GNULIB_MDA_EXECV=3D1; AC_SUBST([GNULIB_MDA_EXECV]) - GNULIB_MDA_EXECVE=3D1; AC_SUBST([GNULIB_MDA_EXECVE]) - GNULIB_MDA_EXECVP=3D1; AC_SUBST([GNULIB_MDA_EXECVP]) - GNULIB_MDA_EXECVPE=3D1; AC_SUBST([GNULIB_MDA_EXECVPE]) - GNULIB_MDA_GETCWD=3D1; AC_SUBST([GNULIB_MDA_GETCWD]) - GNULIB_MDA_GETPID=3D1; AC_SUBST([GNULIB_MDA_GETPID]) - GNULIB_MDA_ISATTY=3D1; AC_SUBST([GNULIB_MDA_ISATTY]) - GNULIB_MDA_LSEEK=3D1; AC_SUBST([GNULIB_MDA_LSEEK]) - GNULIB_MDA_READ=3D1; AC_SUBST([GNULIB_MDA_READ]) - GNULIB_MDA_RMDIR=3D1; AC_SUBST([GNULIB_MDA_RMDIR]) - GNULIB_MDA_SWAB=3D1; AC_SUBST([GNULIB_MDA_SWAB]) - GNULIB_MDA_UNLINK=3D1; AC_SUBST([GNULIB_MDA_UNLINK]) - GNULIB_MDA_WRITE=3D1; AC_SUBST([GNULIB_MDA_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_CHOWN=3D1; AC_SUBST([HAVE_CHOWN]) HAVE_COPY_FILE_RANGE=3D1; AC_SUBST([HAVE_COPY_FILE_RANGE]) diff --git a/m4/visibility.m4 b/m4/visibility.m4 index 8f27a122d..d161bd7f7 100644 --- a/m4/visibility.m4 +++ b/m4/visibility.m4 @@ -1,4 +1,4 @@ -# visibility.m4 serial 7 +# visibility.m4 serial 8 dnl Copyright (C) 2005, 2008, 2010-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -59,6 +59,10 @@ AC_DEFUN([gl_VISIBILITY], extern __attribute__((__visibility__("hidden"))) int hiddenf= unc (void); extern __attribute__((__visibility__("default"))) int export= edfunc (void); void dummyfunc (void); + int hiddenvar; + int exportedvar; + int hiddenfunc (void) { return 51; } + int exportedfunc (void) { return 1225736919; } void dummyfunc (void) {} ]], [[]])], diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4 index 59c55fcda..818b3192e 100644 --- a/m4/wchar_h.m4 +++ b/m4/wchar_h.m4 @@ -7,9 +7,9 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 dnl Written by Eric Blake. =20 -# wchar_h.m4 serial 50 +# wchar_h.m4 serial 53 =20 -AC_DEFUN([gl_WCHAR_H], +AC_DEFUN_ONCE([gl_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) @@ -125,60 +125,75 @@ Configuration aborted.]) fi ]) =20 +# gl_WCHAR_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_WCHAR_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS],= [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNRTOWCS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCRTOMB]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRTOMBS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNRTOMBS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCWIDTH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMMOVE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMSET]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNLEN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPNCPY]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCAT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCASECMP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCOLL]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSXFRM]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSDUP]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSPN]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSPBRK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSTR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) + dnl Support Microsoft deprecated alias function names by default. + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS= ]) + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) +]) + AC_DEFUN([gl_WCHAR_H_DEFAULTS], [ - GNULIB_BTOWC=3D0; AC_SUBST([GNULIB_BTOWC]) - GNULIB_WCTOB=3D0; AC_SUBST([GNULIB_WCTOB]) - GNULIB_MBSINIT=3D0; AC_SUBST([GNULIB_MBSINIT]) - GNULIB_MBRTOWC=3D0; AC_SUBST([GNULIB_MBRTOWC]) - GNULIB_MBRLEN=3D0; AC_SUBST([GNULIB_MBRLEN]) - GNULIB_MBSRTOWCS=3D0; AC_SUBST([GNULIB_MBSRTOWCS]) - GNULIB_MBSNRTOWCS=3D0; AC_SUBST([GNULIB_MBSNRTOWCS]) - GNULIB_WCRTOMB=3D0; AC_SUBST([GNULIB_WCRTOMB]) - GNULIB_WCSRTOMBS=3D0; AC_SUBST([GNULIB_WCSRTOMBS]) - GNULIB_WCSNRTOMBS=3D0; AC_SUBST([GNULIB_WCSNRTOMBS]) - GNULIB_WCWIDTH=3D0; AC_SUBST([GNULIB_WCWIDTH]) - GNULIB_WMEMCHR=3D0; AC_SUBST([GNULIB_WMEMCHR]) - GNULIB_WMEMCMP=3D0; AC_SUBST([GNULIB_WMEMCMP]) - GNULIB_WMEMCPY=3D0; AC_SUBST([GNULIB_WMEMCPY]) - GNULIB_WMEMMOVE=3D0; AC_SUBST([GNULIB_WMEMMOVE]) - GNULIB_WMEMPCPY=3D0; AC_SUBST([GNULIB_WMEMPCPY]) - GNULIB_WMEMSET=3D0; AC_SUBST([GNULIB_WMEMSET]) - GNULIB_WCSLEN=3D0; AC_SUBST([GNULIB_WCSLEN]) - GNULIB_WCSNLEN=3D0; AC_SUBST([GNULIB_WCSNLEN]) - GNULIB_WCSCPY=3D0; AC_SUBST([GNULIB_WCSCPY]) - GNULIB_WCPCPY=3D0; AC_SUBST([GNULIB_WCPCPY]) - GNULIB_WCSNCPY=3D0; AC_SUBST([GNULIB_WCSNCPY]) - GNULIB_WCPNCPY=3D0; AC_SUBST([GNULIB_WCPNCPY]) - GNULIB_WCSCAT=3D0; AC_SUBST([GNULIB_WCSCAT]) - GNULIB_WCSNCAT=3D0; AC_SUBST([GNULIB_WCSNCAT]) - GNULIB_WCSCMP=3D0; AC_SUBST([GNULIB_WCSCMP]) - GNULIB_WCSNCMP=3D0; AC_SUBST([GNULIB_WCSNCMP]) - GNULIB_WCSCASECMP=3D0; AC_SUBST([GNULIB_WCSCASECMP]) - GNULIB_WCSNCASECMP=3D0; AC_SUBST([GNULIB_WCSNCASECMP]) - GNULIB_WCSCOLL=3D0; AC_SUBST([GNULIB_WCSCOLL]) - GNULIB_WCSXFRM=3D0; AC_SUBST([GNULIB_WCSXFRM]) - GNULIB_WCSDUP=3D0; AC_SUBST([GNULIB_WCSDUP]) - GNULIB_WCSCHR=3D0; AC_SUBST([GNULIB_WCSCHR]) - GNULIB_WCSRCHR=3D0; AC_SUBST([GNULIB_WCSRCHR]) - GNULIB_WCSCSPN=3D0; AC_SUBST([GNULIB_WCSCSPN]) - GNULIB_WCSSPN=3D0; AC_SUBST([GNULIB_WCSSPN]) - GNULIB_WCSPBRK=3D0; AC_SUBST([GNULIB_WCSPBRK]) - GNULIB_WCSSTR=3D0; AC_SUBST([GNULIB_WCSSTR]) - GNULIB_WCSTOK=3D0; AC_SUBST([GNULIB_WCSTOK]) - GNULIB_WCSWIDTH=3D0; AC_SUBST([GNULIB_WCSWIDTH]) - GNULIB_WCSFTIME=3D0; AC_SUBST([GNULIB_WCSFTIME]) - dnl Support Microsoft deprecated alias function names by default. - GNULIB_MDA_WCSDUP=3D1; AC_SUBST([GNULIB_MDA_WCSDUP]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_BTOWC=3D1; AC_SUBST([HAVE_BTOWC]) HAVE_MBSINIT=3D1; AC_SUBST([HAVE_MBSINIT]) diff --git a/m4/wctype_h.m4 b/m4/wctype_h.m4 index 1ab0bc985..7d7421277 100644 --- a/m4/wctype_h.m4 +++ b/m4/wctype_h.m4 @@ -1,4 +1,4 @@ -# wctype_h.m4 serial 26 +# wctype_h.m4 serial 30 =20 dnl A placeholder for ISO C99 , for platforms that lack it. =20 @@ -9,7 +9,7 @@ dnl with or without modifications, as long as this notice i= s preserved. =20 dnl Written by Paul Eggert. =20 -AC_DEFUN([gl_WCTYPE_H], +AC_DEFUN_ONCE([gl_WCTYPE_H], [ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) @@ -62,7 +62,7 @@ AC_DEFUN([gl_WCTYPE_H], fi AC_SUBST([HAVE_WCTYPE_H]) =20 - if test $GNULIB_OVERRIDES_WINT_T =3D 1; then + if test $GNULIBHEADERS_OVERRIDE_WINT_T =3D 1; then REPLACE_ISWCNTRL=3D1 else case "$gl_cv_func_iswcntrl_works" in @@ -157,24 +157,39 @@ AC_DEFUN([gl_WCTYPE_H], ]) ]) =20 +# gl_WCTYPE_MODULE_INDICATOR([modulename]) +# sets the shell variable that indicates the presence of the given module +# to a C preprocessor expression that will evaluate to 1. +# This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_WCTYPE_MODULE_INDICATOR], [ - dnl Use AC_REQUIRE here, so that the default settings are expanded once = only. - AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) + dnl Ensure to expand the default settings once only. + gl_WCTYPE_H_REQUIRE_DEFAULTS gl_MODULE_INDICATOR_SET_VARIABLE([$1]) dnl Define it also as a C macro, for the benefit of the unit tests. gl_MODULE_INDICATOR_FOR_TESTS([$1]) ]) =20 +# Initializes the default values for AC_SUBSTed shell variables. +# This macro must not be AC_REQUIREd. It must only be invoked, and only +# outside of macros or in macros that are not AC_REQUIREd. +AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS], +[ + m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS]= , [ + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTRANS]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOWCTRANS]) + ]) + m4_require(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULT= S]) + AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) +]) + AC_DEFUN([gl_WCTYPE_H_DEFAULTS], [ - GNULIB_ISWBLANK=3D0; AC_SUBST([GNULIB_ISWBLANK]) - GNULIB_ISWDIGIT=3D0; AC_SUBST([GNULIB_ISWDIGIT]) - GNULIB_ISWXDIGIT=3D0; AC_SUBST([GNULIB_ISWXDIGIT]) - GNULIB_WCTYPE=3D0; AC_SUBST([GNULIB_WCTYPE]) - GNULIB_ISWCTYPE=3D0; AC_SUBST([GNULIB_ISWCTYPE]) - GNULIB_WCTRANS=3D0; AC_SUBST([GNULIB_WCTRANS]) - GNULIB_TOWCTRANS=3D0; AC_SUBST([GNULIB_TOWCTRANS]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_ISWBLANK=3D1; AC_SUBST([HAVE_ISWBLANK]) HAVE_WCTYPE_T=3D1; AC_SUBST([HAVE_WCTYPE_T]) diff --git a/m4/wint_t.m4 b/m4/wint_t.m4 index 2fc7467f4..a49c50813 100644 --- a/m4/wint_t.m4 +++ b/m4/wint_t.m4 @@ -1,4 +1,4 @@ -# wint_t.m4 serial 10 +# wint_t.m4 serial 11 dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -34,14 +34,14 @@ AC_DEFUN([gt_TYPE_WINT_T], [gl_cv_type_wint_t_large_enough=3Dyes], [gl_cv_type_wint_t_large_enough=3Dno])]) if test $gl_cv_type_wint_t_large_enough =3D no; then - GNULIB_OVERRIDES_WINT_T=3D1 + GNULIBHEADERS_OVERRIDE_WINT_T=3D1 else - GNULIB_OVERRIDES_WINT_T=3D0 + GNULIBHEADERS_OVERRIDE_WINT_T=3D0 fi else - GNULIB_OVERRIDES_WINT_T=3D0 + GNULIBHEADERS_OVERRIDE_WINT_T=3D0 fi - AC_SUBST([GNULIB_OVERRIDES_WINT_T]) + AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T]) ]) =20 dnl Prerequisites of the 'wint_t' override. diff --git a/m4/year2038.m4 b/m4/year2038.m4 new file mode 100644 index 000000000..f53b03f94 --- /dev/null +++ b/m4/year2038.m4 @@ -0,0 +1,124 @@ +# year2038.m4 serial 6 +dnl Copyright (C) 2017-2021 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Attempt to ensure that 'time_t' can go past the year 2038 and that +dnl the functions 'time', 'stat', etc. work with post-2038 timestamps. + +AC_DEFUN([gl_YEAR2038_EARLY], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], + [For 64-bit time_t on 32-bit mingw.]) + ;; + esac +]) + +# gl_YEAR2038_TEST_INCLUDES +# ------------------------- +AC_DEFUN([gl_YEAR2038_TEST_INCLUDES], +[[ + #include + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 =3D=3D 65535 + && LARGE_TIME_T % 65537 =3D=3D 0) + ? 1 : -1]; +]]) + +# gl_YEAR2038_BODY(REQUIRE-YEAR2038-SAFE) +----------------------------------------- +AC_DEFUN([gl_YEAR2038_BODY], +[ + AC_ARG_ENABLE([year2038], + [ --disable-year2038 omit support for timestamps past the year 20= 38]) + AS_IF([test "$enable_year2038" !=3D no], + [ + dnl On many systems, time_t is already a 64-bit type. + dnl On those systems where time_t is still 32-bit, it requires kernel + dnl and libc support to make it 64-bit. For glibc 2.34 and later on Linu= x, + dnl defining _TIME_BITS=3D64 and _FILE_OFFSET_BITS=3D64 is needed on x86= and ARM. + dnl + dnl On native Windows, the system include files define types __time32_t + dnl and __time64_t. By default, time_t is an alias of + dnl - __time32_t on 32-bit mingw, + dnl - __time64_t on 64-bit mingw and on MSVC (since MSVC 8). + dnl But when compiling with -D__MINGW_USE_VC2005_COMPAT, time_t is an + dnl alias of __time64_t. + dnl And when compiling with -D_USE_32BIT_TIME_T, time_t is an alias of + dnl __time32_t. + AC_CACHE_CHECK([for time_t past the year 2038], [gl_cv_type_time_t_y2038= ], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([gl_YEAR2038_TEST_INCLUDES])], + [gl_cv_type_time_t_y2038=3Dyes], [gl_cv_type_time_t_y2038=3Dno]) + ]) + if test "$gl_cv_type_time_t_y2038" =3D no; then + AC_CACHE_CHECK([for 64-bit time_t with _TIME_BITS=3D64], + [gl_cv_type_time_t_bits_macro], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[#define _TIME_BITS 64 + #define _FILE_OFFSET_BITS 64 + ]gl_YEAR2038_TEST_INCLUDES])], + [gl_cv_type_time_t_bits_macro=3Dyes], + [gl_cv_type_time_t_bits_macro=3Dno]) + ]) + if test "$gl_cv_type_time_t_bits_macro" =3D yes; then + AC_DEFINE([_TIME_BITS], [64], + [Number of bits in a timestamp, on hosts where this is settable.]) + dnl AC_SYS_LARGFILE also defines this; it's OK if we do too. + AC_DEFINE([_FILE_OFFSET_BITS], [64], + [Number of bits in a file offset, on hosts where this is settable.= ]) + gl_cv_type_time_t_y2038=3Dyes + fi + fi + if test $gl_cv_type_time_t_y2038 =3D no; then + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _USE_32BIT_TIME_T + int ok; + #else + error fail + #endif + ]])], + [AC_MSG_FAILURE( + [The 'time_t' type stops working after January 2038. + Remove _USE_32BIT_TIME_T from the compiler flags.])], + [# If not cross-compiling and $1 says we should check, + # and 'touch' works with a large timestamp, then evidently wider ti= me_t + # is desired and supported, so fail and ask the builder to fix the + # problem. Otherwise, just warn the builder. + m4_ifval([$1], + [if test $cross_compiling =3D no \ + && TZ=3DUTC0 touch -t 210602070628.15 conftest.time 2>/dev/nu= ll; then + case `TZ=3DUTC0 LC_ALL=3DC ls -l conftest.time 2>/dev/null` in + *'Feb 7 2106'* | *'Feb 7 17:10'*) + AC_MSG_FAILURE( + [The 'time_t' type stops working after January 2038, + and your system appears to support a wider 'time_t'. + Try configuring with 'CPPFLAGS=3D"-m64" LDFLAGS=3D"-m64= "'. + To build with a 32-bit time_t anyway (not recommended), + configure with '--disable-year2038'.]);; + esac + rm -f conftest.time + fi]) + if test "$gl_warned_about_y2038" !=3D yes; then + AC_MSG_WARN( + [The 'time_t' type stops working after January 2038, + and this package needs a wider 'time_t' type + if there is any way to access timestamps after that. + Configure with 'CPPFLAGS=3D"-m64" LDFLAGS=3D"-m64"' perhaps?]) + gl_warned_about_y2038=3Dyes + fi + ]) + fi]) +]) + +AC_DEFUN([gl_YEAR2038], +[ + gl_YEAR2038_BODY([require-year2038-safe]) +]) diff --git a/maint.mk b/maint.mk index ae3a8170a..6a3ea9606 100644 --- a/maint.mk +++ b/maint.mk @@ -1409,7 +1409,7 @@ announcement_mail_headers_alpha =3D \ announcement_mail_Cc_beta =3D $(announcement_mail_Cc_alpha) announcement_mail_headers_beta =3D $(announcement_mail_headers_alpha) =20 -announcement_mail_Cc_ ?=3D $(announcement_mail_Cc_$(release-type)) +announcement_Cc_ ?=3D $(announcement_Cc_$(release-type)) announcement_mail_headers_ ?=3D $(announcement_mail_headers_$(release-type= )) announcement: NEWS ChangeLog $(rel-files) # Not $(AM_V_GEN) since the output of this command serves as @@ -1426,7 +1426,6 @@ announcement: NEWS ChangeLog $(rel-files) --bootstrap-tools=3D$(bootstrap-tools) \ $$(case ,$(bootstrap-tools), in (*,gnulib,*) \ echo --gnulib-version=3D$(gnulib-version);; esac) \ - --no-print-checksums \ $(addprefix --url-dir=3D, $(url_dir_list)) =20 .PHONY: release-commit --=20 2.32.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnulib-import-wcwidth.patch >From ce997aa3a11ef8a9470e4d39cacf67d3893d8c38 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Wed, 4 Aug 2021 01:04:39 +0200 Subject: [PATCH 2/4] gnulib: import wcwidth --- lib/Makefile.am | 40 +++- lib/uniwidth.in.h | 72 +++++++ lib/uniwidth/cjk.h | 37 ++++ lib/uniwidth/width.c | 468 ++++++++++++++++++++++++++++++++++++++++ lib/wcwidth.c | 73 +++++++ m4/gnulib-cache.m4 | 4 +- m4/gnulib-comp.m4 | 31 ++- m4/libunistring-base.m4 | 141 ++++++++++++ m4/wcwidth.m4 | 115 ++++++++++ 9 files changed, 966 insertions(+), 15 deletions(-) create mode 100644 lib/uniwidth.in.h create mode 100644 lib/uniwidth/cjk.h create mode 100644 lib/uniwidth/width.c create mode 100644 lib/wcwidth.c create mode 100644 m4/libunistring-base.m4 create mode 100644 m4/wcwidth.m4 diff --git a/lib/Makefile.am b/lib/Makefile.am index cb29c3136..be2a54569 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -136,7 +136,8 @@ # verify \ # vsnprintf \ # warnings \ -# wchar +# wchar \ +# wcwidth AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects @@ -2787,9 +2788,7 @@ EXTRA_libgnu_la_SOURCES += strdup.c ## begin gnulib module streq -if gl_GNULIB_ENABLED_streq -endif EXTRA_DIST += streq.h ## end gnulib module streq @@ -3588,6 +3587,32 @@ EXTRA_DIST += unistd.in.h ## end gnulib module unistd +## begin gnulib module uniwidth/base + +BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) + +uniwidth.h: uniwidth.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniwidth.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t + +EXTRA_DIST += localcharset.h uniwidth.in.h + +## end gnulib module uniwidth/base + +## begin gnulib module uniwidth/width + +if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH +libgnu_la_SOURCES += uniwidth/width.c +endif + +EXTRA_DIST += uniwidth/cjk.h + +## end gnulib module uniwidth/width + ## begin gnulib module unsetenv if gl_GNULIB_ENABLED_unsetenv @@ -3830,6 +3855,15 @@ EXTRA_DIST += wctype.in.h ## end gnulib module wctype-h +## begin gnulib module wcwidth + + +EXTRA_DIST += wcwidth.c + +EXTRA_libgnu_la_SOURCES += wcwidth.c + +## end gnulib module wcwidth + ## begin gnulib module write diff --git a/lib/uniwidth.in.h b/lib/uniwidth.in.h new file mode 100644 index 000000000..0859254ef --- /dev/null +++ b/lib/uniwidth.in.h @@ -0,0 +1,72 @@ +/* Display width functions. + Copyright (C) 2001-2002, 2005, 2007, 2009-2021 Free Software Foundation, + Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _UNIWIDTH_H +#define _UNIWIDTH_H + +#include "unitypes.h" + +/* Get size_t. */ +#include + +/* Get locale_charset() declaration. */ +#include "localcharset.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Display width. */ + +/* These functions are locale dependent. The encoding argument identifies + the encoding (e.g. "ISO-8859-2" for Polish). */ + +/* Determine number of column positions required for UC. */ +extern int + uc_width (ucs4_t uc, const char *encoding) + _UC_ATTRIBUTE_PURE; + +/* Determine number of column positions required for first N units + (or fewer if S ends before this) in S. */ +extern int + u8_width (const uint8_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u16_width (const uint16_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u32_width (const uint32_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; + +/* Determine number of column positions required for S. */ +extern int + u8_strwidth (const uint8_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u16_strwidth (const uint16_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u32_strwidth (const uint32_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; + + +#ifdef __cplusplus +} +#endif + +#endif /* _UNIWIDTH_H */ diff --git a/lib/uniwidth/cjk.h b/lib/uniwidth/cjk.h new file mode 100644 index 000000000..1853ceb9d --- /dev/null +++ b/lib/uniwidth/cjk.h @@ -0,0 +1,37 @@ +/* Test for CJK encoding. + Copyright (C) 2001-2002, 2005-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include "streq.h" + +static int +is_cjk_encoding (const char *encoding) +{ + if (0 + /* Legacy Japanese encodings */ + || STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0) + /* Legacy Chinese encodings */ + || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) + || STREQ_OPT (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0) + || STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0) + || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0) + /* Legacy Korean encodings */ + || STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) + || STREQ_OPT (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0) + || STREQ_OPT (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0)) + return 1; + return 0; +} diff --git a/lib/uniwidth/width.c b/lib/uniwidth/width.c new file mode 100644 index 000000000..9ba07d331 --- /dev/null +++ b/lib/uniwidth/width.c @@ -0,0 +1,468 @@ +/* Determine display width of Unicode character. + Copyright (C) 2001-2002, 2006-2021 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uniwidth.h" + +#include "cjk.h" + +/* + * Non-spacing attribute table. + * Consists of: + * - Non-spacing characters; generated from PropList.txt or + * "grep '^[^;]*;[^;]*;[^;]*;[^;]*;NSM;' UnicodeData.txt" + * - Format control characters; generated from + * "grep '^[^;]*;[^;]*;Cf;' UnicodeData.txt" + * - Zero width characters; generated from + * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" + */ +static const unsigned char nonspacing_table_data[38*64] = { + /* 0x0000-0x01ff */ + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ + 0xff, 0xff, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, /* 0x0080-0x00bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0180-0x01bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x01c0-0x01ff */ + /* 0x0200-0x03ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0200-0x023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0240-0x027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0280-0x02bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c0-0x02ff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0300-0x033f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x0340-0x037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0380-0x03bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x03c0-0x03ff */ + /* 0x0400-0x05ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0400-0x043f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0440-0x047f */ + 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0480-0x04bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x04c0-0x04ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0500-0x053f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0540-0x057f */ + 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ + 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ + /* 0x0600-0x07ff */ + 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ + 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ + 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ + 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */ + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */ + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x07c0-0x07ff */ + /* 0x0800-0x09ff */ + 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ + 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ + 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ + 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x09c0-0x09ff */ + /* 0x0a00-0x0bff */ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a00-0x0a3f */ + 0x86, 0x39, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, /* 0x0a40-0x0a7f */ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a80-0x0abf */ + 0xbe, 0x21, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0ac0-0x0aff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0x0b00-0x0b3f */ + 0x1e, 0x20, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0b40-0x0b7f */ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ + 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ + /* 0x0c00-0x0dff */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ + 0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ + 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ + 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ + 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ + /* 0x0e00-0x0fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x07, /* 0x0e00-0x0e3f */ + 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0e40-0x0e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x1b, /* 0x0e80-0x0ebf */ + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0ec0-0x0eff */ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xa0, 0x02, /* 0x0f00-0x0f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, /* 0x0f40-0x0f7f */ + 0xdf, 0xe0, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x1f, /* 0x0f80-0x0fbf */ + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0fc0-0x0fff */ + /* 0x1000-0x11ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0x66, /* 0x1000-0x103f */ + 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x1e, 0x00, /* 0x1040-0x107f */ + 0x64, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1140-0x117f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1180-0x11bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c0-0x11ff */ + /* 0x1200-0x13ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1200-0x123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1240-0x127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1280-0x12bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x12c0-0x12ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1300-0x133f */ + 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, /* 0x1340-0x137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1380-0x13bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13c0-0x13ff */ + /* 0x1600-0x17ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1600-0x163f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1640-0x167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1680-0x16bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16c0-0x16ff */ + 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, /* 0x1700-0x173f */ + 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1740-0x177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ + 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ + /* 0x1800-0x19ff */ + 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ + 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ + 0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ + /* 0x1a00-0x1bff */ + 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ + 0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ + 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ + 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */ + 0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */ + /* 0x1c00-0x1dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ + 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf8, /* 0x1dc0-0x1dff */ + /* 0x2000-0x21ff */ + 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ + 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2140-0x217f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2180-0x21bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x21c0-0x21ff */ + /* 0x2c00-0x2dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c00-0x2c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c40-0x2c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c80-0x2cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, /* 0x2cc0-0x2cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d00-0x2d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x2d40-0x2d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */ + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */ + /* 0x3000-0x31ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ + 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3100-0x313f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3140-0x317f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3180-0x31bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ + /* 0xa600-0xa7ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */ + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa780-0xa7bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa7c0-0xa7ff */ + /* 0xa800-0xa9ff */ + 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ + 0x30, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */ + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ + 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ + /* 0xaa00-0xabff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */ + 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, /* 0xabc0-0xabff */ + /* 0xfa00-0xfbff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa80-0xfabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfac0-0xfaff */ + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0xfb00-0xfb3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb40-0xfb7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ + /* 0xfe00-0xffff */ + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff00-0xff3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff40-0xff7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff80-0xffbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, /* 0xffc0-0xffff */ + /* 0x10000-0x101ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10000-0x1003f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10040-0x1007f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10080-0x100bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x100c0-0x100ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10100-0x1013f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */ + /* 0x10200-0x103ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */ + /* 0x10a00-0x10bff */ + 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ + /* 0x11000-0x111ff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */ + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */ + 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */ + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ + /* 0x11200-0x113ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x40, /* 0x11200-0x1123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */ + 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */ + 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */ + /* 0x11400-0x115ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11400-0x1143f */ + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */ + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */ + 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */ + /* 0x11600-0x117ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */ + 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */ + /* 0x11c00-0x11dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, /* 0x11c00-0x11c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c40-0x11c7f */ + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xfc, 0x6d, 0x00, /* 0x11c80-0x11cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11cc0-0x11cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d00-0x11d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d40-0x11d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d80-0x11dbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11dc0-0x11dff */ + /* 0x16a00-0x16bff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */ + /* 0x16e00-0x16fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */ + 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */ + /* 0x1bc00-0x1bdff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */ + 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */ + /* 0x1d000-0x1d1ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d080-0x1d0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d0c0-0x1d0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d100-0x1d13f */ + 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xf8, 0xff, /* 0x1d140-0x1d17f */ + 0xe7, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x1d180-0x1d1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d1c0-0x1d1ff */ + /* 0x1d200-0x1d3ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d200-0x1d23f */ + 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d240-0x1d27f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d280-0x1d2bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d2c0-0x1d2ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */ + /* 0x1da00-0x1dbff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */ + 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */ + /* 0x1e000-0x1e1ff */ + 0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, 0x00, /* 0x1e000-0x1e03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e040-0x1e07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e080-0x1e0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e0c0-0x1e0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e100-0x1e13f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e140-0x1e17f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e180-0x1e1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e1c0-0x1e1ff */ + /* 0x1e800-0x1e9ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */ + 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */ + 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */ +}; +static const signed char nonspacing_table_ind[248] = { + 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ + 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ + 14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */ + 16, -1, -1, -1, -1, -1, -1, -1, /* 0x3000-0x3fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x4000-0x4fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x5000-0x5fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x6000-0x6fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x7000-0x7fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x8000-0x8fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x9000-0x9fff */ + -1, -1, -1, 17, 18, 19, -1, -1, /* 0xa000-0xafff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb000-0xbfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc000-0xcfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ + -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */ + 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */ + 25, 26, 27, 28, -1, -1, 29, -1, /* 0x11000-0x11fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ + -1, -1, -1, -1, -1, 30, -1, 31, /* 0x16000-0x16fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ + -1, -1, -1, -1, -1, -1, 32, -1, /* 0x1b000-0x1bfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ + 33, 34, -1, -1, -1, 35, -1, -1, /* 0x1d000-0x1dfff */ + 36, -1, -1, -1, 37, -1, -1, -1 /* 0x1e000-0x1efff */ +}; + +/* Determine number of column positions required for UC. */ +int +uc_width (ucs4_t uc, const char *encoding) +{ + /* Test for non-spacing or control character. */ + if ((uc >> 9) < 248) + { + int ind = nonspacing_table_ind[uc >> 9]; + if (ind >= 0) + if ((nonspacing_table_data[64*ind + ((uc >> 3) & 63)] >> (uc & 7)) & 1) + { + if (uc > 0 && uc < 0xa0) + return -1; + else + return 0; + } + } + else if ((uc >> 9) == (0xe0000 >> 9)) + { + if (uc >= 0xe0100) + { + if (uc <= 0xe01ef) + return 0; + } + else + { + if (uc >= 0xe0020 ? uc <= 0xe007f : uc == 0xe0001) + return 0; + } + } + /* Test for double-width character. + * Generated from "grep '^[^;]\{4,5\};[WF]' EastAsianWidth.txt" + * and "grep '^[^;]\{4,5\};[^WF]' EastAsianWidth.txt" + */ + if (uc >= 0x1100 + && ((uc < 0x1160) /* Hangul Jamo */ + || (uc >= 0x2329 && uc < 0x232b) /* Angle Brackets */ + || (uc >= 0x2e80 && uc < 0xa4d0 /* CJK ... Yi */ + && !(uc == 0x303f) && !(uc >= 0x4dc0 && uc < 0x4e00)) + || (uc >= 0xac00 && uc < 0xd7a4) /* Hangul Syllables */ + || (uc >= 0xf900 && uc < 0xfb00) /* CJK Compatibility Ideographs */ + || (uc >= 0xfe10 && uc < 0xfe20) /* Presentation Forms for Vertical */ + || (uc >= 0xfe30 && uc < 0xfe70) /* CJK Compatibility Forms */ + || (uc >= 0xff00 && uc < 0xff61) /* Fullwidth Forms */ + || (uc >= 0xffe0 && uc < 0xffe7) /* Fullwidth Signs */ + || (uc >= 0x20000 && uc <= 0x2ffff) /* Supplementary Ideographic Plane */ + || (uc >= 0x30000 && uc <= 0x3ffff) /* Tertiary Ideographic Plane */ + ) ) + return 2; + /* In ancient CJK encodings, Cyrillic and most other characters are + double-width as well. */ + if (uc >= 0x00A1 && uc < 0xFF61 && uc != 0x20A9 + && is_cjk_encoding (encoding)) + return 2; + return 1; +} diff --git a/lib/wcwidth.c b/lib/wcwidth.c new file mode 100644 index 000000000..7f11211dd --- /dev/null +++ b/lib/wcwidth.c @@ -0,0 +1,73 @@ +/* Determine the number of screen columns needed for a character. + Copyright (C) 2006-2007, 2010-2021 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include + +/* Get iswprint. */ +#include + +#include "localcharset.h" +#include "streq.h" +#include "uniwidth.h" + +/* Returns 1 if the current locale is an UTF-8 locale, 0 otherwise. */ +static inline int +is_locale_utf8 (void) +{ + const char *encoding = locale_charset (); + return STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0); +} + +#if GNULIB_WCHAR_SINGLE_LOCALE +/* When we know that the locale does not change, provide a speedup by + caching the value of is_locale_utf8. */ +static int cached_is_locale_utf8 = -1; +static inline int +is_locale_utf8_cached (void) +{ + if (cached_is_locale_utf8 < 0) + cached_is_locale_utf8 = is_locale_utf8 (); + return cached_is_locale_utf8; +} +#else +/* By default, don't make assumptions, hence no caching. */ +# define is_locale_utf8_cached is_locale_utf8 +#endif + +int +wcwidth (wchar_t wc) +#undef wcwidth +{ + /* In UTF-8 locales, use a Unicode aware width function. */ + if (is_locale_utf8_cached ()) + { + /* We assume that in a UTF-8 locale, a wide character is the same as a + Unicode character. */ + return uc_width (wc, "UTF-8"); + } + else + { + /* Otherwise, fall back to the system's wcwidth function. */ +#if HAVE_WCWIDTH + return wcwidth (wc); +#else + return wc == 0 ? 0 : iswprint (wc) ? 1 : -1; +#endif + } +} diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4 index 841bd6140..aeb671cd1 100644 --- a/m4/gnulib-cache.m4 +++ b/m4/gnulib-cache.m4 @@ -141,7 +141,8 @@ # verify \ # vsnprintf \ # warnings \ -# wchar +# wchar \ +# wcwidth # Specification in the form of a few gnulib-tool.m4 macro invocations: gl_LOCAL_DIR([gnulib-local]) @@ -241,6 +242,7 @@ gl_MODULES([ vsnprintf warnings wchar + wcwidth ]) gl_AVOID([lock unistr/base unistr/u8-mbtouc unistr/u8-mbtouc-unsafe unistr/u8-mbtoucr unistr/u8-prev unistr/u8-uctomb unitypes]) gl_SOURCE_BASE([lib]) diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 0ae96ead7..029347507 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -255,6 +255,8 @@ AC_DEFUN([gl_EARLY], # Code from module trunc: # Code from module tzset: # Code from module unistd: + # Code from module uniwidth/base: + # Code from module uniwidth/width: # Code from module unsetenv: # Code from module useless-if-before-free: # Code from module vasnprintf: @@ -265,6 +267,7 @@ AC_DEFUN([gl_EARLY], # Code from module wchar: # Code from module wcrtomb: # Code from module wctype-h: + # Code from module wcwidth: # Code from module write: # Code from module xalloc-oversized: # Code from module xsize: @@ -795,10 +798,18 @@ AC_DEFUN([gl_INIT], gl_MATH_MODULE_INDICATOR([trunc]) gl_UNISTD_H gl_UNISTD_H_REQUIRE_DEFAULTS + gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniwidth.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width]) gl_FUNC_VSNPRINTF gl_STDIO_MODULE_INDICATOR([vsnprintf]) gl_WCHAR_H gl_WCHAR_H_REQUIRE_DEFAULTS + gl_FUNC_WCWIDTH + if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then + AC_LIBOBJ([wcwidth]) + gl_PREREQ_WCWIDTH + fi + gl_WCHAR_MODULE_INDICATOR([wcwidth]) gl_FUNC_WRITE if test $REPLACE_WRITE = 1; then AC_LIBOBJ([write]) @@ -849,7 +860,6 @@ AC_DEFUN([gl_INIT], gl_gnulib_enabled_sockets=false gl_gnulib_enabled_stat=false gl_gnulib_enabled_f9850631dca91859e9cddac9359921c0=false - gl_gnulib_enabled_streq=false gl_gnulib_enabled_sys_random=false gl_gnulib_enabled_tempname=false gl_gnulib_enabled_time_r=false @@ -1098,9 +1108,6 @@ AC_SUBST([LTALLOCA]) if { test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; } && test $REPLACE_MBSTATE_T = 0; then func_gl_gnulib_m4code_mbsinit fi - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - func_gl_gnulib_m4code_streq - fi fi } func_gl_gnulib_m4code_mbsinit () @@ -1356,12 +1363,6 @@ AC_SUBST([LTALLOCA]) gl_gnulib_enabled_f9850631dca91859e9cddac9359921c0=true fi } - func_gl_gnulib_m4code_streq () - { - if ! $gl_gnulib_enabled_streq; then - gl_gnulib_enabled_streq=true - fi - } func_gl_gnulib_m4code_sys_random () { if ! $gl_gnulib_enabled_sys_random; then @@ -1643,6 +1644,9 @@ AC_SUBST([LTALLOCA]) if test $ac_cv_func_vsnprintf = no || test $REPLACE_VSNPRINTF = 1; then func_gl_gnulib_m4code_vasnprintf fi + if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then + func_gl_gnulib_m4code_3dcce957eadc896e63ab5f137947b410 + fi if test $REPLACE_WRITE = 1; then func_gl_gnulib_m4code_raise fi @@ -1691,7 +1695,6 @@ AC_SUBST([LTALLOCA]) AM_CONDITIONAL([gl_GNULIB_ENABLED_sockets], [$gl_gnulib_enabled_sockets]) AM_CONDITIONAL([gl_GNULIB_ENABLED_stat], [$gl_gnulib_enabled_stat]) AM_CONDITIONAL([gl_GNULIB_ENABLED_f9850631dca91859e9cddac9359921c0], [$gl_gnulib_enabled_f9850631dca91859e9cddac9359921c0]) - AM_CONDITIONAL([gl_GNULIB_ENABLED_streq], [$gl_gnulib_enabled_streq]) AM_CONDITIONAL([gl_GNULIB_ENABLED_sys_random], [$gl_gnulib_enabled_sys_random]) AM_CONDITIONAL([gl_GNULIB_ENABLED_tempname], [$gl_gnulib_enabled_tempname]) AM_CONDITIONAL([gl_GNULIB_ENABLED_time_r], [$gl_gnulib_enabled_time_r]) @@ -2106,6 +2109,9 @@ AC_DEFUN([gl_FILE_LIST], [ lib/tzset.c lib/unistd.c lib/unistd.in.h + lib/uniwidth.in.h + lib/uniwidth/cjk.h + lib/uniwidth/width.c lib/unsetenv.c lib/vasnprintf.c lib/vasnprintf.h @@ -2117,6 +2123,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/wcrtomb.c lib/wctype-h.c lib/wctype.in.h + lib/wcwidth.c lib/windows-initguard.h lib/write.c lib/xalloc-oversized.h @@ -2195,6 +2202,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 + m4/libunistring-base.m4 m4/libunistring.m4 m4/limits-h.m4 m4/link.m4 @@ -2309,6 +2317,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/wchar_t.m4 m4/wcrtomb.m4 m4/wctype_h.m4 + m4/wcwidth.m4 m4/wint_t.m4 m4/write.m4 m4/xsize.m4 diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4 new file mode 100644 index 000000000..657bc0ded --- /dev/null +++ b/m4/libunistring-base.m4 @@ -0,0 +1,141 @@ +# libunistring-base.m4 serial 5 +dnl Copyright (C) 2010-2021 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paolo Bonzini and Bruno Haible. + +dnl gl_LIBUNISTRING_MODULE([VERSION], [Module]) +dnl Declares that the source files of Module should be compiled, unless we +dnl are linking with libunistring and its version is >= the given VERSION. +dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is +dnl true if the source files of Module should be compiled. +dnl This macro is to be used for public libunistring API, not for +dnl undocumented API. +dnl +dnl You have to bump the VERSION argument to the next projected version +dnl number each time you make a change that affects the behaviour of the +dnl functions defined in Module (even if the sources of Module itself do not +dnl change). + +AC_DEFUN([gl_LIBUNISTRING_MODULE], +[ + AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE]) + dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from + dnl gl_LIBUNISTRING_CORE if that macro has been run. + AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]), + [gl_LIBUNISTRING_VERSION_CMP([$1])]) +]) + +dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile]) +dnl Declares that HeaderFile should be created, unless we are linking +dnl with libunistring and its version is >= the given VERSION. +dnl HeaderFile should be relative to the lib directory and end in '.h'. +dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty). +dnl +dnl When we are linking with the already installed libunistring and its version +dnl is < VERSION, we create HeaderFile here, because we may compile functions +dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed +dnl version. +dnl When we are linking with the already installed libunistring and its version +dnl is > VERSION, we don't create HeaderFile here: it could cause compilation +dnl errors in other libunistring header files if some types are missing. +dnl +dnl You have to bump the VERSION argument to the next projected version +dnl number each time you make a non-comment change to the HeaderFile. + +AC_DEFUN([gl_LIBUNISTRING_LIBHEADER], +[ + AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE]) + dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from + dnl gl_LIBUNISTRING_CORE if that macro has been run. + if gl_LIBUNISTRING_VERSION_CMP([$1]); then + LIBUNISTRING_[]AS_TR_CPP([$2])='$2' + else + LIBUNISTRING_[]AS_TR_CPP([$2])= + fi + AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2])) +]) + +dnl Miscellaneous preparations/initializations. + +AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE], +[ + dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point. + m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])]) + + AC_REQUIRE([AC_PROG_AWK]) + +dnl Sed expressions to extract the parts of a version number. +changequote(,) +gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +changequote([,]) + + if test "$HAVE_LIBUNISTRING" = yes; then + LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` + LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` + LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` + fi +]) + +dnl gl_LIBUNISTRING_VERSION_CMP([VERSION]) +dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION +dnl is less than the VERSION argument. +AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP], +[ { test "$HAVE_LIBUNISTRING" != yes \ + || { + dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least. + AS_LITERAL_IF([$1], + [dnl This is the optimized variant, that assumes the argument is a literal: + m4_pushdef([requested_version_major], + [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], [\1]), [])]) + m4_pushdef([requested_version_minor], + [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])]) + m4_pushdef([requested_version_subminor], + [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])]) + test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \ + && { test $LIBUNISTRING_VERSION_MINOR -lt requested_version_minor \ + || { test $LIBUNISTRING_VERSION_MINOR -eq requested_version_minor \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt requested_version_subminor + } + } + } + m4_popdef([requested_version_subminor]) + m4_popdef([requested_version_minor]) + m4_popdef([requested_version_major]) + ], + [dnl This is the unoptimized variant: + requested_version_major=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_major"` + requested_version_minor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_minor"` + requested_version_subminor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_subminor"` + test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \ + && { test $LIBUNISTRING_VERSION_MINOR -lt $requested_version_minor \ + || { test $LIBUNISTRING_VERSION_MINOR -eq $requested_version_minor \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt $requested_version_subminor + } + } + } + ]) + } + }]) + +dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the +dnl same as ORIG, otherwise to 0. +m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])]) diff --git a/m4/wcwidth.m4 b/m4/wcwidth.m4 new file mode 100644 index 000000000..2ac2a5148 --- /dev/null +++ b/m4/wcwidth.m4 @@ -0,0 +1,115 @@ +# wcwidth.m4 serial 34 +dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_WCWIDTH], +[ + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Persuade glibc to declare wcwidth(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gt_TYPE_WCHAR_T]) + AC_REQUIRE([gt_TYPE_WINT_T]) + + AC_CHECK_HEADERS_ONCE([wchar.h]) + AC_CHECK_FUNCS_ONCE([wcwidth]) + + AC_CHECK_DECLS([wcwidth], [], [], [[ + #include + ]]) + if test $ac_cv_have_decl_wcwidth != yes; then + HAVE_DECL_WCWIDTH=0 + fi + + if test $ac_cv_func_wcwidth != yes; then + AC_CACHE_CHECK([whether wcwidth is a macro], + [gl_cv_func_wcwidth_macro], + [AC_EGREP_CPP([wchar_header_defines_wcwidth], [ +#include +#ifdef wcwidth + wchar_header_defines_wcwidth +#endif], + [gl_cv_func_wcwidth_macro=yes], + [gl_cv_func_wcwidth_macro=no]) + ]) + fi + + if test $ac_cv_func_wcwidth = yes || test $gl_cv_func_wcwidth_macro = yes; then + HAVE_WCWIDTH=1 + dnl On Mac OS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1. + dnl On NetBSD 9.0, OpenBSD 5.0, MidnightBSD 1.1, + dnl wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1. + dnl On NetBSD 9.0, MidnightBSD 1.1, OSF/1 5.1, + dnl wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1. + dnl On OpenBSD 5.8, wcwidth(0xFF1A) (FULLWIDTH COLON) returns 0. + dnl This leads to bugs in 'ls' (coreutils). + dnl On Solaris 11.4, wcwidth(0x2202) (PARTIAL DIFFERENTIAL) returns 2, + dnl even in Western locales. + AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales], + [gl_cv_func_wcwidth_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#if !HAVE_DECL_WCWIDTH +extern +# ifdef __cplusplus +"C" +# endif +int wcwidth (int); +#endif +int main () +{ + int result = 0; + if (setlocale (LC_ALL, "en_US.UTF-8") != NULL) + { + if (wcwidth (0x0301) > 0) + result |= 1; + if (wcwidth (0x05B0) > 0) + result |= 2; + if (wcwidth (0x200B) > 0) + result |= 4; + if (wcwidth (0xFF1A) == 0) + result |= 8; + if (wcwidth (0x2202) > 1) + result |= 16; + } + return result; +}]])], + [gl_cv_func_wcwidth_works=yes], + [gl_cv_func_wcwidth_works=no], + [ +changequote(,)dnl + case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_wcwidth_works="guessing yes";; + # Guess yes on AIX 7 systems. + aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";; + *) gl_cv_func_wcwidth_works="$gl_cross_guess_normal";; + esac +changequote([,])dnl + ]) + ]) + case "$gl_cv_func_wcwidth_works" in + *yes) ;; + *no) REPLACE_WCWIDTH=1 ;; + esac + else + HAVE_WCWIDTH=0 + fi + dnl We don't substitute HAVE_WCWIDTH. We assume that if the system does not + dnl have the wcwidth function, then it does not declare it. +]) + +# Prerequisites of lib/wcwidth.c. +AC_DEFUN([gl_PREREQ_WCWIDTH], [ + AC_REQUIRE([AC_C_INLINE]) + : +]) -- 2.32.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-Export-the-wcwidth-function.patch >From 8026e94f6cf35c75a0a4f928c580b077f546a452 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Tue, 3 Aug 2021 23:53:41 +0200 Subject: [PATCH 3/4] Export the wcwidth function The wcwidth function computes the number of columns that a character spans. It is in gnulib, but not documented. It is part of POSIX, and its own module in Gnulib [1]. [1]: https://www.gnu.org/software/gnulib/manual/html_node/wcwidth.html --- doc/ref/api-data.texi | 7 +++++++ libguile/chars.c | 12 ++++++++++++ libguile/chars.h | 1 + 3 files changed, 20 insertions(+) diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi index 2ad13f5a5..a6647c3bf 100644 --- a/doc/ref/api-data.texi +++ b/doc/ref/api-data.texi @@ -2275,6 +2275,13 @@ with their meanings. @end multitable @end deffn +@deffn {Scheme Procedure} wcwidth chr +@deffnx {C Function} scm_wcwidth (chr) +Return the number of columns that @var{chr} spans. This function depends +on the @code{LC_CTYPE} locale category. Return @code{-1} if @var{chr} is +not recognized. +@end deffn + @rnindex char->integer @deffn {Scheme Procedure} char->integer chr @deffnx {C Function} scm_char_to_integer (chr) diff --git a/libguile/chars.c b/libguile/chars.c index fe55f9e2e..7b31e0601 100644 --- a/libguile/chars.c +++ b/libguile/chars.c @@ -504,6 +504,18 @@ SCM_DEFINE (scm_char_general_category, "char-general-category", 1, 0, 0, } #undef FUNC_NAME +SCM_DEFINE (scm_wcwidth, "wcwidth", 1, 0, 0, + (SCM chr), + "Return the number of columns that @var{chr} spans.") +#define FUNC_NAME s_scm_wcwidth +{ + int width; + SCM_VALIDATE_CHAR (1, chr); + width = wcwidth (SCM_CHAR(chr)); + return scm_from_int (width); +} +#undef FUNC_NAME + diff --git a/libguile/chars.h b/libguile/chars.h index f6d4c6354..1bf7c2aa2 100644 --- a/libguile/chars.h +++ b/libguile/chars.h @@ -86,6 +86,7 @@ SCM_API SCM scm_char_upcase (SCM chr); SCM_API SCM scm_char_downcase (SCM chr); SCM_API SCM scm_char_titlecase (SCM chr); SCM_API SCM scm_char_general_category (SCM chr); +SCM_API SCM scm_wcwidth (SCM chr); SCM_INLINE SCM scm_c_make_char (scm_t_wchar c); SCM_API scm_t_wchar scm_c_upcase (scm_t_wchar c); -- 2.32.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0004-Use-wcwidth-to-compute-the-textual-port-column.patch Content-Transfer-Encoding: quoted-printable >From 25f118cab79ec613abd24a95b097c51d4a2c7b0b Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Tue, 3 Aug 2021 23:50:37 +0200 Subject: [PATCH 4/4] Use wcwidth to compute the textual port column The wcwidth function computes the number of columns that a character should span. By using it in the textual port column computation, we increase the precision of error reporting [1]. [1] https://www.gnu.org/prep/standards/html_node/Errors.html#Errors --- doc/ref/api-io.texi | 4 +- libguile/ports.c | 28 ++++++++----- module/ice-9/suspendable-ports.scm | 43 +++++++++----------- test-suite/tests/ports.test | 65 +++++++++++++++++++++++++++--- 4 files changed, 101 insertions(+), 39 deletions(-) diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi index 87d4af496..70c7fdc61 100644 --- a/doc/ref/api-io.texi +++ b/doc/ref/api-io.texi @@ -503,7 +503,9 @@ The @code{put-string} procedure returns an unspecified = value. =20 Textual ports have a textual position associated with them: a line and a column. Reading in characters or writing them out advances the line and -the column appropriately. +the column appropriately. The textual position of a port increases +monotonically, and printable ASCII characters increase the position +strictly. =20 @deffn {Scheme Procedure} port-column port @deffnx {Scheme Procedure} port-line port diff --git a/libguile/ports.c b/libguile/ports.c index c25c20709..d1d07819c 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -38,6 +38,7 @@ #include #include #include +#include =20 #ifdef HAVE_IO_H #include @@ -1704,13 +1705,8 @@ update_port_position (SCM position, scm_t_wchar c) =20 switch (c) { - case '\a': case EOF: break; - case '\b': - if (column > 0) - scm_port_position_set_column (position, scm_from_int (column - 1)); - break; case '\n': { long line =3D scm_to_long (scm_port_position_line (position)); @@ -1718,15 +1714,29 @@ update_port_position (SCM position, scm_t_wchar c) scm_port_position_set_column (position, SCM_INUM0); } break; - case '\r': - scm_port_position_set_column (position, SCM_INUM0); - break; case '\t': scm_port_position_set_column (position, scm_from_int (column + 8 - column % 8)= ); break; default: - scm_port_position_set_column (position, scm_from_int (column + 1)); + { + int width =3D 1; + if (c < 32) + { + /* non-printable ASCII character */ + width =3D 0; + } + if (c >=3D 128) + { + /* non-ASCII character */ + width =3D wcwidth (c); + if (width =3D=3D -1) + { + width =3D 1; + } + } + scm_port_position_set_column (position, scm_from_int (column + wid= th)); + } break; } } diff --git a/module/ice-9/suspendable-ports.scm b/module/ice-9/suspendable-= ports.scm index a823f1d37..73e80afb4 100644 --- a/module/ice-9/suspendable-ports.scm +++ b/module/ice-9/suspendable-ports.scm @@ -559,29 +559,26 @@ (lambda (buf bv cur buffered) (slow-path)))) =20 (define-inlinable (advance-port-position! pos char) - ;; FIXME: this cond is a speed hack; really we should just compile - ;; `case' better. - (cond - ;; FIXME: char>? et al should compile well. - ((<=3D (char->integer #\space) (char->integer char)) - (set-port-position-column! pos (1+ (port-position-column pos)))) - (else - (case char - ((#\alarm) #t) ; No change. - ((#\backspace) - (let ((col (port-position-column pos))) - (when (> col 0) - (set-port-position-column! pos (1- col))))) - ((#\newline) - (set-port-position-line! pos (1+ (port-position-line pos))) - (set-port-position-column! pos 0)) - ((#\return) - (set-port-position-column! pos 0)) - ((#\tab) - (let ((col (port-position-column pos))) - (set-port-position-column! pos (- (+ col 8) (remainder col 8))))) - (else - (set-port-position-column! pos (1+ (port-position-column pos)))))))) + (if (>=3D (char->integer char) 128) + ;; non-ASCII character + (let ((width (wcwidth char))) + (set-port-position-column! + pos + (+ (port-position-column pos) + (if (=3D width -1) 1 width)))) + ;; ASCII character + (case char + ((#\newline) + (set-port-position-line! pos (1+ (port-position-line pos))) + (set-port-position-column! pos 0)) + ((#\tab) + (let ((col (port-position-column pos))) + (set-port-position-column! pos (- (+ col 8) (remainder col 8)))= )) + (else + ;; non-printable ASCII characters have 0 width + (when (>=3D (char->integer char) 32) + ;; printable ASCII character + (set-port-position-column! pos (1+ (port-position-column pos)))= ))))) =20 (define* (read-char #:optional (port (current-input-port))) (define (finish buf char) diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test index cd87640ab..276e3c4de 100644 --- a/test-suite/tests/ports.test +++ b/test-suite/tests/ports.test @@ -1210,7 +1210,7 @@ (pass-if "x\\x08 backspace" (let ((port (open-output-string))) (display "x\x08" port) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "\\n" (let ((port (open-output-string))) @@ -1230,7 +1230,7 @@ (pass-if "x\\r" (let ((port (open-output-string))) (display "x\r" port) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "\\t" (let ((port (open-output-string))) @@ -1240,7 +1240,31 @@ (pass-if "x\\t" (let ((port (open-output-string))) (display "x\t" port) - (=3D 8 (port-column port))))) + (=3D 8 (port-column port)))) + + (pass-if "=E6=BC=A2=E5=AD=97 in C locale" + (setlocale LC_CTYPE "C") + (let ((port (open-output-string))) + (display "=E6=BC=A2=E5=AD=97" port) + (=3D 2 (port-column port)))) + + (pass-if "x=E6=BC=A2=E5=AD=97 in C locale" + (setlocale LC_CTYPE "C") + (let ((port (open-output-string))) + (display "x=E6=BC=A2=E5=AD=97" port) + (=3D 3 (port-column port)))) + + (pass-if "=E6=BC=A2=E5=AD=97 in UTF-8 locale" + (setlocale LC_CTYPE "en_US.UTF-8") + (let ((port (open-output-string))) + (display "=E6=BC=A2=E5=AD=97" port) + (=3D 4 (port-column port)))) + + (pass-if "x=E6=BC=A2=E5=AD=97 in UTF-8 locale" + (setlocale LC_CTYPE "en_US.UTF-8") + (let ((port (open-output-string))) + (display "x=E6=BC=A2=E5=AD=97" port) + (=3D 5 (port-column port))))) =20 (with-test-prefix "input" =20 @@ -1267,7 +1291,7 @@ (pass-if "x\\x08 backspace" (let ((port (open-input-string "x\x08"))) (while (not (eof-object? (read-char port)))) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "\\n" (let ((port (open-input-string "\n"))) @@ -1287,7 +1311,7 @@ (pass-if "x\\r" (let ((port (open-input-string "x\r"))) (while (not (eof-object? (read-char port)))) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "\\t" (let ((port (open-input-string "\t"))) @@ -1297,7 +1321,36 @@ (pass-if "x\\t" (let ((port (open-input-string "x\t"))) (while (not (eof-object? (read-char port)))) - (=3D 8 (port-column port)))))) + (=3D 8 (port-column port)))) + + (pass-if "=E6=BC=A2=E5=AD=97 in C locale" + (setlocale LC_CTYPE "C") + (let ((port (open-input-string "=E6=BC=A2=E5=AD=97"))) + (while (not (eof-object? (read-char port)))) + ;; There are 2 characters, but wcwidth failed so it + ;; returned 2. + (=3D 2 (port-column port)))) + + (pass-if "x=E6=BC=A2=E5=AD=97 in C locale" + (setlocale LC_CTYPE "C") + (let ((port (open-input-string "x=E6=BC=A2=E5=AD=97"))) + (while (not (eof-object? (read-char port)))) + (=3D 3 (port-column port)))) + + (pass-if "=E6=BC=A2=E5=AD=97 in UTF-8 locale" + (setlocale LC_CTYPE "en_US.UTF-8") + (let ((port (open-input-string "=E6=BC=A2=E5=AD=97"))) + (while (not (eof-object? (read-char port)))) + (setlocale LC_CTYPE "C") + ;; there are only 2 characters, but 4 columns + (=3D 4 (port-column port)))) + + (pass-if "x=E6=BC=A2=E5=AD=97 in UTF-8 locale" + (setlocale LC_CTYPE "en_US.UTF-8") + (let ((port (open-input-string "x=E6=BC=A2=E5=AD=97"))) + (while (not (eof-object? (read-char port)))) + (setlocale LC_CTYPE "C") + (=3D 5 (port-column port)))))) =20 (with-test-prefix "port-line" =20 --=20 2.32.0 --=-=-=--