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 General Guile related discussions Newsgroups: gmane.lisp.guile.user Subject: Re: Syntax locations are ambiguous: can we track source 'offset' and 'length'? Date: Wed, 04 Aug 2021 01:51:20 +0200 Message-ID: <8735rqhytj.fsf@planete-kraus.eu> References: <771a6e88782e288143be269b14751b761523e4c1.camel@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="40052"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.4.15; emacs 27.2 Cc: guile-user@gnu.org To: Linus =?utf-8?Q?Bj=C3=B6rnstam?= Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Wed Aug 04 01:52:45 2021 Return-path: Envelope-to: guile-user@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 1mB4DE-0006Fq-8i for guile-user@m.gmane-mx.org; Wed, 04 Aug 2021 01:52:44 +0200 Original-Received: from localhost ([::1]:53734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mB4DC-0001Qp-6V for guile-user@m.gmane-mx.org; Tue, 03 Aug 2021 19:52:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46224) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mB4Ch-0001QV-3u for guile-user@gnu.org; Tue, 03 Aug 2021 19:52:11 -0400 Original-Received: from planete-kraus.eu ([2a00:5881:4008:2810::309]:49250) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1mB4CG-0004XY-8x for guile-user@gnu.org; Tue, 03 Aug 2021 19:52:10 -0400 Original-Received: from planete-kraus.eu (localhost.lan [127.0.0.1]) by planete-kraus.eu (OpenSMTPD) with ESMTP id 0ff706f8; Tue, 3 Aug 2021 23:51:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=planete-kraus.eu; h= references:from:to:cc:subject:in-reply-to:message-id:date :mime-version:content-type; s=*; bh=rqj4iGWRuNT4HsQ8TxrFfCQJhHo=; b= koj5GqjLRDNQYbvo06aqXG1ZhiEt8zNpU24PiHS5iSJyJos+V+PKs7usLwLQzngz oHP5thUaWwRJc5lljf3ruBnAi2OwfUgLw8xYr+if6fbAI0DVM6hnw9HXBf7GbwPd IOTsebSRL8z41kNxggfNbbvAEl2EEyIATTu4uDvQMgs= Original-Received: by planete-kraus.eu (OpenSMTPD) with ESMTPSA id 3fa34202 (TLSv1.3:AEAD-CHACHA20-POLY1305-SHA256:256:NO); Tue, 3 Aug 2021 23:51:21 +0000 (UTC) In-reply-to: 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: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:17664 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Linus Bj=C3=B6rnstam writes: > On Tue, 3 Aug 2021, at 00:50, Vivien Kraus via General Guile related disc= ussions wrote: >> (syntax-case >> (call-with-input-string "(a\r b)" read-syntax) () >> ((a b) >> (values (syntax-source #'a) (syntax-source #'b)))) >>=20 >> =3D> >>=20 >> $1 =3D ((line . 0) (column . 1)) >> $2 =3D ((line . 0) (column . 1)) >>=20 >> This is obviously because of #\return. > > Well, if anything this has confused the guile reader. It is probably a > bug: I suspect it resets the column because it anticipates a > windows-style newline. Maybe the correct behavior should be to entirely ignore #\return when computing the line/column? I see in libguile/ports.c (update_port_position) that #\return and #\backspace may break the monotony of the position by strictly reducing it. I read here: https://www.gnu.org/prep/standards/html_node/Errors.html#Errors that the recommended solution is to use wcwidth, to give every non-ASCII character at least a null width. Is there a reason not to use wcwidth? If not, what do you think of the attached patch? > But are you often dealing with lonely "\r" in sources? Using either > \n (unix-style) or \r\n (window-style) will give you the correct > results. Agreed. I don=E2=80=99t control the input, but I can silently drop all weird characters (#\return, #\backspace and #\alarm) and almost noone [1] will notice. Vivien [1] If it=E2=80=99s in a string literal, we can replace it with \r, \b or \a anyway. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; 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: inline; 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: inline; 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: inline; filename=0004-Use-wcwidth-to-compute-the-textual-port-column.patch Content-Transfer-Encoding: quoted-printable >From 050817a7af5c9b402e13886b443554a446b2836c 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 | 3 +- libguile/ports.c | 22 ++++---- module/ice-9/suspendable-ports.scm | 38 ++++++-------- test-suite/tests/ports.test | 81 ++++++++++++++++++++++++------ 4 files changed, 97 insertions(+), 47 deletions(-) diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi index 87d4af496..b5c95eef1 100644 --- a/doc/ref/api-io.texi +++ b/doc/ref/api-io.texi @@ -503,7 +503,8 @@ 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 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..0582f7d3a 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,23 @@ 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 >=3D 128) + { + 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..e964d65ae 100644 --- a/module/ice-9/suspendable-ports.scm +++ b/module/ice-9/suspendable-ports.scm @@ -559,29 +559,21 @@ (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) + (let ((width (wcwidth char))) + (set-port-position-column! + pos + (+ (port-position-column pos) + (if (=3D width -1) 1 width)))) + (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 + (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..5b968887e 100644 --- a/test-suite/tests/ports.test +++ b/test-suite/tests/ports.test @@ -1195,22 +1195,22 @@ (pass-if "\\a" (let ((port (open-output-string))) (display "\a" port) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "x\\a" (let ((port (open-output-string))) (display "x\a" port) - (=3D 1 (port-column port)))) + (=3D 2 (port-column port)))) =20 (pass-if "\\x08 backspace" (let ((port (open-output-string))) (display "\x08" port) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "x\\x08 backspace" (let ((port (open-output-string))) (display "x\x08" port) - (=3D 0 (port-column port)))) + (=3D 2 (port-column port)))) =20 (pass-if "\\n" (let ((port (open-output-string))) @@ -1225,12 +1225,12 @@ (pass-if "\\r" (let ((port (open-output-string))) (display "\r" port) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "x\\r" (let ((port (open-output-string))) (display "x\r" port) - (=3D 0 (port-column port)))) + (=3D 2 (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 @@ -1252,22 +1276,22 @@ (pass-if "\\a" (let ((port (open-input-string "\a"))) (while (not (eof-object? (read-char port)))) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "x\\a" (let ((port (open-input-string "x\a"))) (while (not (eof-object? (read-char port)))) - (=3D 1 (port-column port)))) + (=3D 2 (port-column port)))) =20 (pass-if "\\x08 backspace" (let ((port (open-input-string "\x08"))) (while (not (eof-object? (read-char port)))) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (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 2 (port-column port)))) =20 (pass-if "\\n" (let ((port (open-input-string "\n"))) @@ -1282,12 +1306,12 @@ (pass-if "\\r" (let ((port (open-input-string "\r"))) (while (not (eof-object? (read-char port)))) - (=3D 0 (port-column port)))) + (=3D 1 (port-column port)))) =20 (pass-if "x\\r" (let ((port (open-input-string "x\r"))) (while (not (eof-object? (read-char port)))) - (=3D 0 (port-column port)))) + (=3D 2 (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 --=-=-=--