diff options
author | Bruno Haible <bruno@clisp.org> | 2023-03-23 13:51:41 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2023-03-24 02:45:52 +0100 |
commit | 0645e170eadd356967b0690ba8208d85e8042edd (patch) | |
tree | 7144fdbd0ccfbb81c7558578204983b1d3c2b300 /modules | |
parent | f9a4ee73c3e7b544f640d0d04b55983d3a7b894e (diff) | |
download | gnulib-0645e170eadd356967b0690ba8208d85e8042edd.tar.gz |
vasnprintf-gnu: New module.
Suggested by Eric Blake in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00060.html>.
* lib/printf-parse.c (PRINTF_PARSE): Recognize the 'B' conversion.
* lib/printf-parse.h: Update comments.
* lib/wprintf-parse.h: Likewise.
* lib/vasnprintf.c (MAX_ROOM_NEEDED): Treat the 'B' conversion like 'b'.
(VASNPRINTF): Implement 'B' conversion if
NEED_PRINTF_DIRECTIVE_UPPERCASE_B is set. Support the 'B' conversion if
requested.
* m4/printf.m4 (gl_PRINTF_DIRECTIVE_B): When cross-compiling, guess yes
on glibc >= 2.35.
(gl_PRINTF_DIRECTIVE_UPPERCASE_B): New macro.
* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS): Renamed
from gl_PREREQ_VASNPRINTF_WITH_EXTRAS.
(gl_PREREQ_VASNPRINTF_DIRECTIVE_UPPERCASE_B,
gl_PREREQ_VASNPRINTF_WITH_GNU_EXTRAS): New macros.
* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): New macro,
extracted from gl_FUNC_VASNPRINTF_POSIX.
(gl_FUNC_VASNPRINTF_POSIX): Require it. Invoke
gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
* m4/vasnprintf-gnu.m4: New file.
* modules/vasnprintf-gnu: New file.
* modules/c-vasnprintf (configure.ac): Update.
* modules/unistdio/u8-vasnprintf (configure.ac): Likewise.
* modules/unistdio/u8-u8-vasnprintf (configure.ac): Likewise.
* modules/unistdio/u16-vasnprintf (configure.ac): Likewise.
* modules/unistdio/u16-u16-vasnprintf (configure.ac): Likewise.
* modules/unistdio/u32-vasnprintf (configure.ac): Likewise.
* modules/unistdio/u32-u32-vasnprintf (configure.ac): Likewise.
* modules/unistdio/ulc-vasnprintf (configure.ac): Likewise.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/c-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/u16-u16-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/u16-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/u32-u32-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/u32-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/u8-u8-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/u8-vasnprintf | 2 | ||||
-rw-r--r-- | modules/unistdio/ulc-vasnprintf | 2 | ||||
-rw-r--r-- | modules/vasnprintf-gnu | 29 |
9 files changed, 37 insertions, 8 deletions
diff --git a/modules/c-vasnprintf b/modules/c-vasnprintf index 44259c1f0e..35adfbbbdf 100644 --- a/modules/c-vasnprintf +++ b/modules/c-vasnprintf @@ -43,7 +43,7 @@ multiarch configure.ac: AC_REQUIRE([AC_C_RESTRICT]) -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS Makefile.am: lib_SOURCES += c-vasnprintf.c diff --git a/modules/unistdio/u16-u16-vasnprintf b/modules/unistdio/u16-u16-vasnprintf index ac8df9f1b1..d3ad4ffe92 100644 --- a/modules/unistdio/u16-u16-vasnprintf +++ b/modules/unistdio/u16-u16-vasnprintf @@ -50,7 +50,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vasnprintf]) Makefile.am: diff --git a/modules/unistdio/u16-vasnprintf b/modules/unistdio/u16-vasnprintf index e767f54bd3..908f043a4e 100644 --- a/modules/unistdio/u16-vasnprintf +++ b/modules/unistdio/u16-vasnprintf @@ -50,7 +50,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vasnprintf]) Makefile.am: diff --git a/modules/unistdio/u32-u32-vasnprintf b/modules/unistdio/u32-u32-vasnprintf index 86e669723b..e64e97d4dd 100644 --- a/modules/unistdio/u32-u32-vasnprintf +++ b/modules/unistdio/u32-u32-vasnprintf @@ -50,7 +50,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vasnprintf]) Makefile.am: diff --git a/modules/unistdio/u32-vasnprintf b/modules/unistdio/u32-vasnprintf index 58185bc34b..8fb0187382 100644 --- a/modules/unistdio/u32-vasnprintf +++ b/modules/unistdio/u32-vasnprintf @@ -50,7 +50,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vasnprintf]) Makefile.am: diff --git a/modules/unistdio/u8-u8-vasnprintf b/modules/unistdio/u8-u8-vasnprintf index 63ab8d8768..f91638bf83 100644 --- a/modules/unistdio/u8-u8-vasnprintf +++ b/modules/unistdio/u8-u8-vasnprintf @@ -50,7 +50,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vasnprintf]) Makefile.am: diff --git a/modules/unistdio/u8-vasnprintf b/modules/unistdio/u8-vasnprintf index f6be0a5de3..f8d7e79d68 100644 --- a/modules/unistdio/u8-vasnprintf +++ b/modules/unistdio/u8-vasnprintf @@ -50,7 +50,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vasnprintf]) Makefile.am: diff --git a/modules/unistdio/ulc-vasnprintf b/modules/unistdio/ulc-vasnprintf index 7f7614d8ac..c950cbf62a 100644 --- a/modules/unistdio/ulc-vasnprintf +++ b/modules/unistdio/ulc-vasnprintf @@ -48,7 +48,7 @@ multiarch assert-h configure.ac: -gl_PREREQ_VASNPRINTF_WITH_EXTRAS +gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS gl_LIBUNISTRING_MODULE([0.9.11], [unistdio/ulc-vasnprintf]) Makefile.am: diff --git a/modules/vasnprintf-gnu b/modules/vasnprintf-gnu new file mode 100644 index 0000000000..b5551f3011 --- /dev/null +++ b/modules/vasnprintf-gnu @@ -0,0 +1,29 @@ +Description: +POSIX and GNU compatible vsprintf with automatic memory allocation and bounded +output size. + +Comment: +This module should not be used as a dependency from a test module, +otherwise when this module occurs as a tests-related module, it will +have side effects on the compilation of the 'vasnprintf' module, if +that module occurs among the main modules in lib/. + +Files: +m4/vasnprintf-gnu.m4 + +Depends-on: +vasnprintf-posix + +configure.ac: +gl_FUNC_VASNPRINTF_GNU + +Makefile.am: + +Include: +"vasnprintf.h" + +License: +LGPLv2+ + +Maintainer: +all |