summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-03-23 13:51:41 +0100
committerBruno Haible <bruno@clisp.org>2023-03-24 02:45:52 +0100
commit0645e170eadd356967b0690ba8208d85e8042edd (patch)
tree7144fdbd0ccfbb81c7558578204983b1d3c2b300 /modules
parentf9a4ee73c3e7b544f640d0d04b55983d3a7b894e (diff)
downloadgnulib-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-vasnprintf2
-rw-r--r--modules/unistdio/u16-u16-vasnprintf2
-rw-r--r--modules/unistdio/u16-vasnprintf2
-rw-r--r--modules/unistdio/u32-u32-vasnprintf2
-rw-r--r--modules/unistdio/u32-vasnprintf2
-rw-r--r--modules/unistdio/u8-u8-vasnprintf2
-rw-r--r--modules/unistdio/u8-vasnprintf2
-rw-r--r--modules/unistdio/ulc-vasnprintf2
-rw-r--r--modules/vasnprintf-gnu29
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