34 Commits
Author SHA1 Message Date
Collin Funk a8482ceecf maint: run 'make update-copyright' 2026-01-01 10:37:05 -08:00
Pádraig Brady 7b08932179 maint: run 'make update-copyright' 2025-01-01 09:25:10 +00:00
Bruno Haible 53549b9b91 xvasprintf: Guarantee a non-NULL result.
* lib/xvasprintf.h: Clarify the programmer's responsibilities.
(xasprintf, xvasprintf): Declare as returning non-NULL.
* lib/xvasprintf.c: Include <stdlib.h>.
(xstrcat): Allow results longer than INT_MAX characters. Upon size
overflow, invoke xalloc_die.
(xvasprintf): Call vazsprintf instead of vasprintf. When some other
error occurs, emit an error message and abort.
* m4/strerrorname_np.m4 (gl_CHECK_STRERRORNAME_NP): New macro, extracted
from gl_FUNC_STRERRORNAME_NP.
(gl_FUNC_STRERRORNAME_NP): Invoke it.
(gl_OPTIONAL_STRERRORNAME_NP): New macro.
* m4/xvasprintf.m4 (gl_XVASPRINTF): Invoke gl_OPTIONAL_STRERRORNAME_NP.
* modules/xvasprintf (Files): Add m4/strerrorname_np.m4.
(Depends-on): Add extensions, vazsprintf. Remove vasprintf.
* NEWS: Mention the change.
2024-06-22 12:17:51 +02:00
Simon Josefsson 5b92dd0a45 maint: run 'make update-copyright' 2024-01-01 10:31:48 +01:00
Bruno Haible 8ad7bc6714 Add more reminders to include <config.h>.
* m4/gnulib-common.m4 (gl_COMMON): In config.h, define
_GL_CONFIG_H_INCLUDED.
* lib/acl-internal.h: Test _GL_CONFIG_H_INCLUDED instead of
_GL_INLINE_HEADER_BEGIN.
* lib/alignalloc.h: Likewise.
* lib/argp-fmtstream.h: Likewise.
* lib/argp.h: Likewise.
* lib/binary-io.h: Likewise.
* lib/bitrotate.h: Likewise.
* lib/c-ctype.h: Likewise.
* lib/count-leading-zeros.h: Likewise.
* lib/count-one-bits.h: Likewise.
* lib/count-trailing-zeros.h: Likewise.
* lib/eealloc.h: Likewise.
* lib/execinfo.in.h: Likewise.
* lib/gethrxtime.h: Likewise.
* lib/gl_list.h: Likewise.
* lib/gl_map.h: Likewise.
* lib/gl_omap.h: Likewise.
* lib/gl_openssl.h: Likewise.
* lib/gl_oset.h: Likewise.
* lib/gl_set.h: Likewise.
* lib/gl_xlist.h: Likewise.
* lib/gl_xmap.h: Likewise.
* lib/gl_xomap.h: Likewise.
* lib/gl_xoset.h: Likewise.
* lib/gl_xset.h: Likewise.
* lib/gl_xsublist.h: Likewise.
* lib/glthread/cond.h: Likewise.
* lib/hamt.h: Likewise.
* lib/ialloc.h: Likewise.
* lib/math.in.h: Likewise.
* lib/mbchar.h: Likewise.
* lib/mbfile.h: Likewise.
* lib/mbiter.h: Likewise.
* lib/mbuiter.h: Likewise.
* lib/openat.h: Likewise.
* lib/pipe-filter-aux.h: Likewise.
* lib/priv-set.h: Likewise.
* lib/safe-alloc.h: Likewise.
* lib/savewd.h: Likewise.
* lib/se-context.in.h: Likewise.
* lib/se-label.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/sig-handler.h: Likewise.
* lib/stat-time.h: Likewise.
* lib/string-desc-quotearg.h: Likewise.
* lib/string-desc.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/timespec.h: Likewise.
* lib/u64.h: Likewise.
* lib/uchar.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/utimens.h: Likewise.
* lib/wctype.in.h: Likewise.
* lib/xalloc.h: Likewise.
* lib/xbinary-io.h: Likewise.
* lib/xsize.h: Likewise.
* lib/xstring-desc.h: Likewise.
* lib/xtime.h: Likewise.
* lib/acl.h: Check that config.h was already included.
* lib/alignof.h: Likewise.
* lib/argmatch.h: Likewise.
* lib/argv-iter.h: Likewise.
* lib/arpa_inet.in.h: Likewise.
* lib/attribute.h: Likewise.
* lib/backupfile.h: Likewise.
* lib/base32.h: Likewise.
* lib/base64.h: Likewise.
* lib/basename-lgpl.h: Likewise.
* lib/bitset.h: Likewise.
* lib/bitsetv.h: Likewise.
* lib/c-snprintf.h: Likewise.
* lib/c-stack.h: Likewise.
* lib/c-strcase.h: Likewise.
* lib/c-vasnprintf.h: Likewise.
* lib/c-vasprintf.h: Likewise.
* lib/c-vsnprintf.h: Likewise.
* lib/c-xvasprintf.h: Likewise.
* lib/canon-host.h: Likewise.
* lib/canonicalize.h: Likewise.
* lib/clean-temp.h: Likewise.
* lib/concat-filename.h: Likewise.
* lib/ctype.in.h: Likewise.
* lib/dfa.h: Likewise.
* lib/di-set.h: Likewise.
* lib/dirent-safer.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/dirname.h: Likewise.
* lib/eloop-threshold.h: Likewise.
* lib/error.in.h: Likewise.
* lib/exclude.h: Likewise.
* lib/fatal-signal.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/file-type.h: Likewise.
* lib/filenamecat.h: Likewise.
* lib/filevercmp.h: Likewise.
* lib/flexmember.h: Likewise.
* lib/fnmatch.in.h: Likewise.
* lib/fpending.h: Likewise.
* lib/freadable.h: Likewise.
* lib/freadahead.h: Likewise.
* lib/freading.h: Likewise.
* lib/fts_.h: Likewise.
* lib/fwritable.h: Likewise.
* lib/fwriting.h: Likewise.
* lib/gc.h: Likewise.
* lib/get_progname_of.h: Likewise.
* lib/glob.in.h: Likewise.
* lib/glthread/thread.h: Likewise.
* lib/hash-pjw-bare.h: Likewise.
* lib/hash-pjw.h: Likewise.
* lib/hash-triple.h: Likewise.
* lib/hash.h: Likewise.
* lib/i-ring.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/ino-map.h: Likewise.
* lib/inttostr.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/javaversion.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/localename.h: Likewise.
* lib/malloc.in.h: Likewise.
* lib/malloca.h: Likewise.
* lib/memcasecmp.h: Likewise.
* lib/memchr2.h: Likewise.
* lib/memcmp2.h: Likewise.
* lib/modechange.h: Likewise.
* lib/monetary.in.h: Likewise.
* lib/mountlist.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/obstack.h: Likewise.
* lib/opendirat.h: Likewise.
* lib/pagealign_alloc.h: Likewise.
* lib/pipe-filter.h: Likewise.
* lib/poll.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/pty.in.h: Likewise.
* lib/quotearg.h: Likewise.
* lib/read-file.h: Likewise.
* lib/readline.h: Likewise.
* lib/readutmp.h: Likewise.
* lib/regex-quote.h: Likewise.
* lib/relocatable.h: Likewise.
* lib/savedir.h: Likewise.
* lib/sched.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/sh-quote.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/sigpipe-die.h: Likewise.
* lib/sockets.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/ssfmalloc.h: Likewise.
* lib/stack.h: Likewise.
* lib/stdalign.in.h: Likewise.
* lib/stdarg.in.h: Likewise.
* lib/stddef.in.h: Likewise.
* lib/stdio-safer.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/stdnoreturn.in.h: Likewise.
* lib/strerror-override.h: Likewise.
* lib/striconv.h: Likewise.
* lib/striconveh.h: Likewise.
* lib/striconveha.h: Likewise.
* lib/string-buffer.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/strnlen1.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_random.in.h: Likewise.
* lib/sys_resource.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/sys_wait.in.h: Likewise.
* lib/system-quote.h: Likewise.
* lib/term-style-control.h: Likewise.
* lib/termios.in.h: Likewise.
* lib/textstyle.in.h: Likewise.
* lib/threads.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/trim.h: Likewise.
* lib/utime.in.h: Likewise.
* lib/utmp.in.h: Likewise.
* lib/vasnprintf.h: Likewise.
* lib/verror.h: Likewise.
* lib/version-etc.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/windows-spawn.h: Likewise.
* lib/windows-thread.h: Likewise.
* lib/xgetcwd.h: Likewise.
* lib/xgetdomainname.h: Likewise.
* lib/xgethostname.h: Likewise.
* lib/xmalloca.h: Likewise.
* lib/xmemdup0.h: Likewise.
* lib/xprintf.h: Likewise.
* lib/xreadlink.h: Likewise.
* lib/xstriconv.h: Likewise.
* lib/xstriconveh.h: Likewise.
* lib/xstrndup.h: Likewise.
* lib/xstrtol-error.h: Likewise.
* lib/xvasprintf.h: Likewise.
* Makefile (config_h_MACROS*): New variables.
(sc_check_config_h_reminder): New rule.
2023-04-12 19:37:37 +02:00
Simon Josefsson 32a72f4537 maint: run 'make update-copyright' 2023-01-01 01:14:21 +01:00
Bernhard Voelker 87e6634b28 license: fix GPLv3 texts to use a comma instead of semicolon.
See: https://www.gnu.org/licenses/gpl-3.0.html#howto
Run:
  $ git grep -l 'Foundation; either version 3' \
      | xargs sed -i '/Foundation; either version 3/ s/n; e/n, e/'

* All files using GPLv3: Adjust via the above command.
2022-01-05 11:56:23 +01:00
Paul Eggert eec12c00cf maint: run 'make update-copyright' 2022-01-01 09:44:11 -08:00
Paul Eggert 3efc9c5e4f xvasprintf: improve -fanalyzer malloc checking 2021-08-01 18:06:58 -07:00
Paul Eggert 4b94832196 maint: run 'make update-copyright' 2020-12-31 23:30:01 -08:00
Bruno Haible 387d654cab Use the correct printf format attribute for mingw.
Reported by Reuben Thomas <rrt@sc3d.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.

* modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
* modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.

* lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
(_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
_GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
(_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.

* modules/vasnprintf (Depends-on): Add stdio.
* lib/vasnprintf.h: Include <stdio.h>.
(asnprintf, vasnprintf): Use the standard printf format attribute.

* modules/xvasprintf (Depends-on): Add stdio.
* lib/xvasprintf.h: Include <stdio.h>.
(xasprintf, xvasprintf): Use the standard printf format attribute.

* modules/xprintf (Depends-on): List stdio first.
* lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
depends on GNULIB_VPRINTF_POSIX.
(xfprintf, xvfprintf): Use a printf format attribute that depends on
GNULIB_VFPRINTF_POSIX.

* modules/c-vasnprintf (Depends-on): Add stdio.
* lib/c-vasnprintf.h: Include <stdio.h>.
(c_vasnprintf): Use the standard printf format attribute.

* modules/c-vasprintf (Depends-on): Add stdio.
* lib/c-vasprintf.h: Include <stdio.h>.
(c_asprintf, c_vasprintf): Use the standard printf format attribute.

* modules/c-vsnprintf (Depends-on): Add stdio.
* lib/c-vsnprintf.h: Include <stdio.h>.
(c_vsnprintf): Use the standard printf format attribute.

* modules/c-snprintf (Depends-on): Add stdio.
* lib/c-snprintf.h: Include <stdio.h>.
(c_snprintf): Use the standard printf format attribute.

* modules/c-xvasprintf (Depends-on): Add stdio.
* lib/c-xvasprintf.h: Include <stdio.h>.
(c_xasprintf, c_xvasprintf): Use the standard printf format attribute.

* modules/error (Depends-on): Depend on stdio always.
* lib/error.h: Include <stdio.h>.
(_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
(error, error_at_line): Use a printf format attribute that depends on
GNULIB_VFPRINTF_POSIX.
* lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
_GL_ATTRIBUTE_FORMAT_PRINTF.

* modules/verror (Depends-on): Add stdio.
* lib/verror.h: Include <stdio.h>. Don't include "error.h".
(verror, verror_at_line): Use the standard printf format attribute.
* lib/verror.c: Include "error.h".

* modules/argp (Depends-on): Add stdio.
* lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.

* modules/libtextstyle-optional (Depends-on): Add stdio.
* lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
printf format attribute.

* tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
format attribute.
2020-11-24 01:32:51 +01:00
Bruno Haible 598afc1407 Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
* lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
* lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
* lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
2020-05-09 13:22:49 +02:00
Paul Eggert 2cdc1bafb2 maint: Run 'make update-copyright' 2019-12-31 16:02:16 -08:00
Paul Eggert e6633650a2 maint: Run 'make update-copyright' 2019-01-01 00:30:05 +01:00
Paul Eggert 281b825eba maint: Run 'make update-copyright' 2018-01-01 00:58:38 +00:00
Paul Eggert ca35d46812 all: prefer https: URLs 2017-09-13 00:48:57 -07:00
Paul Eggert a3fd683de3 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2017-01-01 02:59:23 +00:00
Paul Eggert 71090a2a31 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2016-01-01 00:57:21 -08:00
Paul Eggert b9bfe78424 version-etc: new year
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
* all files: Run 'make update-copyright'.
2014-12-31 17:47:54 -08:00
Eric Blake 1276a2c5f2 maint: update copyright
I ran 'make update-copyright'.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-01-01 00:07:10 -07:00
Eric Blake 9fc81090f6 maint: update all copyright year number ranges
Run "make update-copyright".  Compare to commit 1602f0a from last year.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-01-01 00:50:58 +00:00
Jim Meyering 1602f0afed maint: update all copyright year number ranges
Run "make update-copyright".
2012-01-01 10:04:58 +01:00
Bruno Haible f6a5a124d0 Don't interfere with a program's definition of __attribute__.
* lib/argp.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(argp_error, __argp_error, argp_failure, __argp_failure): Use it.
* lib/argp-fmtstream.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
* lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
GCC 3 or newer.
* lib/error.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(error, error_at_line): Use it.
* lib/hash.h (__attribute__): Remove definition.
(ATTRIBUTE_WUR): Update definition. Define always.
* lib/openat.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/sigpipe-die.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/vasnprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(asnprintf, vasnprintf): Use it.
* lib/xalloc.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
(ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
* lib/xmemdup0.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/xprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(xprintf, xvprintf, xfprintf, xvfprintf): Use it.
* lib/xstrtol.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/xvasprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(xasprintf, xvasprintf): Use it.
* tests/test-argmatch.c (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* tests/test-exclude.c (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
Reported by Paul Eggert.
2011-02-15 02:31:02 +01:00
Jim Meyering d60f3b0c6b maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
2011-01-01 22:12:59 +01:00
Bruno Haible 4a24fcd6cf Avoid a link error due to the __printf__ symbol. 2010-01-19 03:15:05 +01:00
Jim Meyering b2e2010c7c update nearly all FSF copyright year lists to include 2010
Use the same procedure as for 2009, outlined in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2010-01-01 10:42:00 +01:00
Jim Meyering 3030c5b5e0 update nearly all FSF copyright year lists to include 2009
The files named by the following are exempted:

    grep -v '^#' config/srclist.txt|grep -v '^$' \
      | while read src dst; do
          test -f "$dst" && { echo "$dst"; continue; }
          test -d "$dst" || continue
          echo "$dst"/$(basename "$src")
        done > exempt
    git ls-files tests/unictype >> exempt

In the remaining files, convert to all-interval notation if
- there is already at least one year interval like 2000-2003
- the file is maintained by me
- the file is in lib/uni*/, where that style already prevails
Otherwise, use update-copyright's default.
2009-12-29 17:49:30 +01:00
Bruno Haible 15834b98ef Don't redefine __attribute__ without a need. 2008-01-13 16:51:48 +01:00
Bruno Haible 57fdfd3f8e Change copyright notice from GPLv2+ to GPLv3+. 2007-10-07 19:14:58 +02:00
Bruno Haible 8fac1a69d4 Convert tabs in the middle of preprocessor directives. 2007-03-09 00:33:15 +00:00
Bruno Haible 7e84360e8d Fix the comment fix. 2006-06-28 16:22:49 +00:00
Eric Blake 9f85c91855 * xvasprintf.h: Fix comments. 2006-06-28 14:00:22 +00:00
Paul Eggert 267a39bafd *** empty log message *** 2005-05-14 06:03:57 +00:00
Bruno Haible 0f2c51f68b New module 'xvasprintf'. 2004-09-08 12:15:25 +00:00