summaryrefslogtreecommitdiff
path: root/modules/unistdio
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-07-02 01:34:46 +0000
committerBruno Haible <bruno@clisp.org>2007-07-02 01:34:46 +0000
commit2625ca90abe3246f6d3240d59d32f1843afc9651 (patch)
treeb3c2bf629c91f1e7e9d9aed4fd9df7ca159f7474 /modules/unistdio
parent7c8322243bf4fe57a7f5d042182c1b5c541bdaeb (diff)
downloadgnulib-2625ca90abe3246f6d3240d59d32f1843afc9651.tar.gz
Formatted output functions for Unicode strings.
Diffstat (limited to 'modules/unistdio')
-rw-r--r--modules/unistdio/base22
-rw-r--r--modules/unistdio/u-printf-args28
-rw-r--r--modules/unistdio/u16-asnprintf26
-rw-r--r--modules/unistdio/u16-asnprintf-tests14
-rw-r--r--modules/unistdio/u16-asprintf25
-rw-r--r--modules/unistdio/u16-printf-parse30
-rw-r--r--modules/unistdio/u16-snprintf25
-rw-r--r--modules/unistdio/u16-sprintf25
-rw-r--r--modules/unistdio/u16-u16-asnprintf26
-rw-r--r--modules/unistdio/u16-u16-asprintf25
-rw-r--r--modules/unistdio/u16-u16-snprintf25
-rw-r--r--modules/unistdio/u16-u16-sprintf25
-rw-r--r--modules/unistdio/u16-u16-vasnprintf59
-rw-r--r--modules/unistdio/u16-u16-vasprintf25
-rw-r--r--modules/unistdio/u16-u16-vsnprintf26
-rw-r--r--modules/unistdio/u16-u16-vsprintf26
-rw-r--r--modules/unistdio/u16-vasnprintf59
-rw-r--r--modules/unistdio/u16-vasnprintf-tests31
-rw-r--r--modules/unistdio/u16-vasprintf25
-rw-r--r--modules/unistdio/u16-vasprintf-tests13
-rw-r--r--modules/unistdio/u16-vsnprintf26
-rw-r--r--modules/unistdio/u16-vsnprintf-tests14
-rw-r--r--modules/unistdio/u16-vsprintf26
-rw-r--r--modules/unistdio/u16-vsprintf-tests14
-rw-r--r--modules/unistdio/u32-asnprintf26
-rw-r--r--modules/unistdio/u32-asnprintf-tests14
-rw-r--r--modules/unistdio/u32-asprintf25
-rw-r--r--modules/unistdio/u32-printf-parse30
-rw-r--r--modules/unistdio/u32-snprintf25
-rw-r--r--modules/unistdio/u32-sprintf25
-rw-r--r--modules/unistdio/u32-u32-asnprintf26
-rw-r--r--modules/unistdio/u32-u32-asprintf25
-rw-r--r--modules/unistdio/u32-u32-snprintf25
-rw-r--r--modules/unistdio/u32-u32-sprintf25
-rw-r--r--modules/unistdio/u32-u32-vasnprintf59
-rw-r--r--modules/unistdio/u32-u32-vasprintf25
-rw-r--r--modules/unistdio/u32-u32-vsnprintf26
-rw-r--r--modules/unistdio/u32-u32-vsprintf26
-rw-r--r--modules/unistdio/u32-vasnprintf59
-rw-r--r--modules/unistdio/u32-vasnprintf-tests31
-rw-r--r--modules/unistdio/u32-vasprintf25
-rw-r--r--modules/unistdio/u32-vasprintf-tests13
-rw-r--r--modules/unistdio/u32-vsnprintf26
-rw-r--r--modules/unistdio/u32-vsnprintf-tests14
-rw-r--r--modules/unistdio/u32-vsprintf26
-rw-r--r--modules/unistdio/u32-vsprintf-tests14
-rw-r--r--modules/unistdio/u8-asnprintf26
-rw-r--r--modules/unistdio/u8-asnprintf-tests14
-rw-r--r--modules/unistdio/u8-asprintf25
-rw-r--r--modules/unistdio/u8-printf-parse30
-rw-r--r--modules/unistdio/u8-snprintf25
-rw-r--r--modules/unistdio/u8-sprintf25
-rw-r--r--modules/unistdio/u8-u8-asnprintf26
-rw-r--r--modules/unistdio/u8-u8-asprintf25
-rw-r--r--modules/unistdio/u8-u8-snprintf25
-rw-r--r--modules/unistdio/u8-u8-sprintf25
-rw-r--r--modules/unistdio/u8-u8-vasnprintf59
-rw-r--r--modules/unistdio/u8-u8-vasprintf25
-rw-r--r--modules/unistdio/u8-u8-vsnprintf26
-rw-r--r--modules/unistdio/u8-u8-vsprintf26
-rw-r--r--modules/unistdio/u8-vasnprintf59
-rw-r--r--modules/unistdio/u8-vasnprintf-tests31
-rw-r--r--modules/unistdio/u8-vasprintf25
-rw-r--r--modules/unistdio/u8-vasprintf-tests13
-rw-r--r--modules/unistdio/u8-vsnprintf26
-rw-r--r--modules/unistdio/u8-vsnprintf-tests14
-rw-r--r--modules/unistdio/u8-vsprintf26
-rw-r--r--modules/unistdio/u8-vsprintf-tests14
-rw-r--r--modules/unistdio/ulc-asnprintf26
-rw-r--r--modules/unistdio/ulc-asnprintf-tests14
-rw-r--r--modules/unistdio/ulc-asprintf25
-rw-r--r--modules/unistdio/ulc-fprintf25
-rw-r--r--modules/unistdio/ulc-printf-parse31
-rw-r--r--modules/unistdio/ulc-snprintf25
-rw-r--r--modules/unistdio/ulc-sprintf25
-rw-r--r--modules/unistdio/ulc-vasnprintf57
-rw-r--r--modules/unistdio/ulc-vasnprintf-tests27
-rw-r--r--modules/unistdio/ulc-vasprintf25
-rw-r--r--modules/unistdio/ulc-vasprintf-tests13
-rw-r--r--modules/unistdio/ulc-vfprintf25
-rw-r--r--modules/unistdio/ulc-vsnprintf25
-rw-r--r--modules/unistdio/ulc-vsnprintf-tests14
-rw-r--r--modules/unistdio/ulc-vsprintf26
-rw-r--r--modules/unistdio/ulc-vsprintf-tests14
84 files changed, 2217 insertions, 0 deletions
diff --git a/modules/unistdio/base b/modules/unistdio/base
new file mode 100644
index 0000000000..290712b965
--- /dev/null
+++ b/modules/unistdio/base
@@ -0,0 +1,22 @@
+Description:
+Base layer for formatted output to strings.
+
+Files:
+lib/unistdio.h
+
+Depends-on:
+unitypes
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u-printf-args b/modules/unistdio/u-printf-args
new file mode 100644
index 0000000000..02478e5cea
--- /dev/null
+++ b/modules/unistdio/u-printf-args
@@ -0,0 +1,28 @@
+Description:
+Fetching a printf argument list.
+
+Files:
+lib/unistdio/u-printf-args.h
+lib/unistdio/u-printf-args.c
+lib/printf-args.h
+lib/printf-args.c
+m4/vasnprintf.m4
+
+Depends-on:
+unitypes
+
+configure.ac:
+gl_PREREQ_PRINTF_ARGS
+
+Makefile.am:
+lib_SOURCES += unistdio/u-printf-args.c
+
+Include:
+"unistdio/u-printf-args.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-asnprintf b/modules/unistdio/u16-asnprintf
new file mode 100644
index 0000000000..78355ac763
--- /dev/null
+++ b/modules/unistdio/u16-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-16 string, with automatic memory allocation and
+bounded output size.
+
+Files:
+lib/unistdio/u16-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-asnprintf-tests b/modules/unistdio/u16-asnprintf-tests
new file mode 100644
index 0000000000..e0d0ae47f4
--- /dev/null
+++ b/modules/unistdio/u16-asnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u16-asnprintf1.c
+tests/unistdio/test-u16-asnprintf1.h
+tests/unistdio/test-u16-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u16-asnprintf1
+check_PROGRAMS += test-u16-asnprintf1
+test_u16_asnprintf1_SOURCES = unistdio/test-u16-asnprintf1.c
+test_u16_asnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u16-asprintf b/modules/unistdio/u16-asprintf
new file mode 100644
index 0000000000..edb2448fe0
--- /dev/null
+++ b/modules/unistdio/u16-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-16 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u16-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-printf-parse b/modules/unistdio/u16-printf-parse
new file mode 100644
index 0000000000..d892a3877c
--- /dev/null
+++ b/modules/unistdio/u16-printf-parse
@@ -0,0 +1,30 @@
+Description:
+Parsing an UTF-16 format string.
+
+Files:
+lib/unistdio/u-printf-parse.h
+lib/unistdio/u16-printf-parse.c
+lib/printf-parse.h
+lib/printf-parse.c
+m4/vasnprintf.m4
+
+Depends-on:
+unistdio/u-printf-args
+stdint
+xsize
+
+configure.ac:
+gl_PREREQ_PRINTF_PARSE
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-printf-parse.c
+
+Include:
+"unistdio/u-printf-parse.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-snprintf b/modules/unistdio/u16-snprintf
new file mode 100644
index 0000000000..214afe544f
--- /dev/null
+++ b/modules/unistdio/u16-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length UTF-16 string.
+
+Files:
+lib/unistdio/u16-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-sprintf b/modules/unistdio/u16-sprintf
new file mode 100644
index 0000000000..cf6e06ad5f
--- /dev/null
+++ b/modules/unistdio/u16-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-16 string.
+
+Files:
+lib/unistdio/u16-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-asnprintf b/modules/unistdio/u16-u16-asnprintf
new file mode 100644
index 0000000000..d1230b04f9
--- /dev/null
+++ b/modules/unistdio/u16-u16-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-16 string, with automatic memory allocation and
+bounded output size.
+
+Files:
+lib/unistdio/u16-u16-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-asprintf b/modules/unistdio/u16-u16-asprintf
new file mode 100644
index 0000000000..abd44ed737
--- /dev/null
+++ b/modules/unistdio/u16-u16-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-16 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u16-u16-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-snprintf b/modules/unistdio/u16-u16-snprintf
new file mode 100644
index 0000000000..0d78a404f4
--- /dev/null
+++ b/modules/unistdio/u16-u16-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length UTF-16 string.
+
+Files:
+lib/unistdio/u16-u16-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-sprintf b/modules/unistdio/u16-u16-sprintf
new file mode 100644
index 0000000000..546e11b1ab
--- /dev/null
+++ b/modules/unistdio/u16-u16-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-16 string.
+
+Files:
+lib/unistdio/u16-u16-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-vasnprintf b/modules/unistdio/u16-u16-vasnprintf
new file mode 100644
index 0000000000..9b378457a5
--- /dev/null
+++ b/modules/unistdio/u16-u16-vasnprintf
@@ -0,0 +1,59 @@
+Description:
+Formatted output to UTF-16 strings.
+
+Files:
+lib/unistdio/u16-u16-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/u16-printf-parse
+unistdio/u-printf-args
+uniconv/u16-conv-from-enc
+unistr/u16-cpy
+unistr/u16-set
+unistr/u16-mbsnlen
+unistr/u8-to-u16
+unistr/u32-to-u16
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-vasprintf b/modules/unistdio/u16-u16-vasprintf
new file mode 100644
index 0000000000..75a2531cc8
--- /dev/null
+++ b/modules/unistdio/u16-u16-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-16 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u16-u16-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-vsnprintf b/modules/unistdio/u16-u16-vsnprintf
new file mode 100644
index 0000000000..63be193b30
--- /dev/null
+++ b/modules/unistdio/u16-u16-vsnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a fixed-length UTF-16 string.
+
+Files:
+lib/unistdio/u16-u16-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-vasnprintf
+unistr/u16-cpy
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-u16-vsprintf b/modules/unistdio/u16-u16-vsprintf
new file mode 100644
index 0000000000..c614980023
--- /dev/null
+++ b/modules/unistdio/u16-u16-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-16 string.
+
+Files:
+lib/unistdio/u16-u16-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-u16-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-u16-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-vasnprintf b/modules/unistdio/u16-vasnprintf
new file mode 100644
index 0000000000..c923a1e6e0
--- /dev/null
+++ b/modules/unistdio/u16-vasnprintf
@@ -0,0 +1,59 @@
+Description:
+Formatted output to UTF-16 strings.
+
+Files:
+lib/unistdio/u16-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/ulc-printf-parse
+unistdio/u-printf-args
+uniconv/u16-conv-from-enc
+unistr/u16-cpy
+unistr/u16-set
+unistr/u16-mbsnlen
+unistr/u8-to-u16
+unistr/u32-to-u16
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-vasnprintf-tests b/modules/unistdio/u16-vasnprintf-tests
new file mode 100644
index 0000000000..2fa60baf13
--- /dev/null
+++ b/modules/unistdio/u16-vasnprintf-tests
@@ -0,0 +1,31 @@
+Files:
+tests/unistdio/test-u16-vasnprintf1.c
+tests/unistdio/test-u16-asnprintf1.h
+tests/unistdio/test-u16-printf1.h
+tests/unistdio/test-u16-vasnprintf2.sh
+tests/unistdio/test-u16-vasnprintf2.c
+tests/unistdio/test-u16-vasnprintf3.sh
+tests/unistdio/test-u16-vasnprintf3.c
+m4/locale-fr.m4
+
+Depends-on:
+unistr/u16-cmp
+unistr/u16-cpy
+unistr/u16-strcmp
+unistr/u16-strlen
+
+configure.ac:
+gt_LOCALE_FR
+gt_LOCALE_FR_UTF8
+
+Makefile.am:
+TESTS += test-u16-vasnprintf1 unistdio/test-u16-vasnprintf2.sh unistdio/test-u16-vasnprintf3.sh
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
+check_PROGRAMS += test-u16-vasnprintf1 test-u16-vasnprintf2 test-u16-vasnprintf3
+test_u16_vasnprintf1_SOURCES = unistdio/test-u16-vasnprintf1.c
+test_u16_vasnprintf1_LDADD = $(LDADD) @LIBICONV@
+test_u16_vasnprintf2_SOURCES = unistdio/test-u16-vasnprintf2.c
+test_u16_vasnprintf2_LDADD = $(LDADD) @LIBICONV@
+test_u16_vasnprintf3_SOURCES = unistdio/test-u16-vasnprintf3.c
+test_u16_vasnprintf3_LDADD = $(LDADD) @LIBICONV@
+EXTRA_DIST += unistdio/test-u16-vasnprintf2.sh unistdio/test-u16-vasnprintf3.sh
diff --git a/modules/unistdio/u16-vasprintf b/modules/unistdio/u16-vasprintf
new file mode 100644
index 0000000000..f2195ff2e8
--- /dev/null
+++ b/modules/unistdio/u16-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-16 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u16-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-vasprintf-tests b/modules/unistdio/u16-vasprintf-tests
new file mode 100644
index 0000000000..f50bb4f199
--- /dev/null
+++ b/modules/unistdio/u16-vasprintf-tests
@@ -0,0 +1,13 @@
+Files:
+tests/unistdio/test-u16-vasprintf1.c
+tests/unistdio/test-u16-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u16-vasprintf1
+check_PROGRAMS += test-u16-vasprintf1
+test_u16_vasprintf1_SOURCES = unistdio/test-u16-vasprintf1.c
+test_u16_vasprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u16-vsnprintf b/modules/unistdio/u16-vsnprintf
new file mode 100644
index 0000000000..241b7bd806
--- /dev/null
+++ b/modules/unistdio/u16-vsnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a fixed-length UTF-16 string.
+
+Files:
+lib/unistdio/u16-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-vasnprintf
+unistr/u16-cpy
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-vsnprintf-tests b/modules/unistdio/u16-vsnprintf-tests
new file mode 100644
index 0000000000..9a84acc597
--- /dev/null
+++ b/modules/unistdio/u16-vsnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u16-vsnprintf1.c
+tests/unistdio/test-u16-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u16-vsnprintf1
+check_PROGRAMS += test-u16-vsnprintf1
+test_u16_vsnprintf1_SOURCES = unistdio/test-u16-vsnprintf1.c
+test_u16_vsnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u16-vsprintf b/modules/unistdio/u16-vsprintf
new file mode 100644
index 0000000000..5070ef7b13
--- /dev/null
+++ b/modules/unistdio/u16-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-16 string.
+
+Files:
+lib/unistdio/u16-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u16-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u16-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u16-vsprintf-tests b/modules/unistdio/u16-vsprintf-tests
new file mode 100644
index 0000000000..49ad38b264
--- /dev/null
+++ b/modules/unistdio/u16-vsprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u16-vsprintf1.c
+tests/unistdio/test-u16-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u16-vsprintf1
+check_PROGRAMS += test-u16-vsprintf1
+test_u16_vsprintf1_SOURCES = unistdio/test-u16-vsprintf1.c
+test_u16_vsprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u32-asnprintf b/modules/unistdio/u32-asnprintf
new file mode 100644
index 0000000000..ec91605193
--- /dev/null
+++ b/modules/unistdio/u32-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-32 string, with automatic memory allocation and
+bounded output size.
+
+Files:
+lib/unistdio/u32-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-asnprintf-tests b/modules/unistdio/u32-asnprintf-tests
new file mode 100644
index 0000000000..f827976848
--- /dev/null
+++ b/modules/unistdio/u32-asnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u32-asnprintf1.c
+tests/unistdio/test-u32-asnprintf1.h
+tests/unistdio/test-u32-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u32-asnprintf1
+check_PROGRAMS += test-u32-asnprintf1
+test_u32_asnprintf1_SOURCES = unistdio/test-u32-asnprintf1.c
+test_u32_asnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u32-asprintf b/modules/unistdio/u32-asprintf
new file mode 100644
index 0000000000..5b251d12bd
--- /dev/null
+++ b/modules/unistdio/u32-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-32 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u32-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-printf-parse b/modules/unistdio/u32-printf-parse
new file mode 100644
index 0000000000..cd506d5b0a
--- /dev/null
+++ b/modules/unistdio/u32-printf-parse
@@ -0,0 +1,30 @@
+Description:
+Parsing an UTF-32 format string.
+
+Files:
+lib/unistdio/u-printf-parse.h
+lib/unistdio/u32-printf-parse.c
+lib/printf-parse.h
+lib/printf-parse.c
+m4/vasnprintf.m4
+
+Depends-on:
+unistdio/u-printf-args
+stdint
+xsize
+
+configure.ac:
+gl_PREREQ_PRINTF_PARSE
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-printf-parse.c
+
+Include:
+"unistdio/u-printf-parse.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-snprintf b/modules/unistdio/u32-snprintf
new file mode 100644
index 0000000000..54c783d9cf
--- /dev/null
+++ b/modules/unistdio/u32-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length UTF-32 string.
+
+Files:
+lib/unistdio/u32-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-sprintf b/modules/unistdio/u32-sprintf
new file mode 100644
index 0000000000..d472588076
--- /dev/null
+++ b/modules/unistdio/u32-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-32 string.
+
+Files:
+lib/unistdio/u32-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-asnprintf b/modules/unistdio/u32-u32-asnprintf
new file mode 100644
index 0000000000..4f8dfc6fc3
--- /dev/null
+++ b/modules/unistdio/u32-u32-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-32 string, with automatic memory allocation and
+bounded output size.
+
+Files:
+lib/unistdio/u32-u32-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-asprintf b/modules/unistdio/u32-u32-asprintf
new file mode 100644
index 0000000000..4dc5bf8d29
--- /dev/null
+++ b/modules/unistdio/u32-u32-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-32 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u32-u32-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-snprintf b/modules/unistdio/u32-u32-snprintf
new file mode 100644
index 0000000000..6c355c970b
--- /dev/null
+++ b/modules/unistdio/u32-u32-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length UTF-32 string.
+
+Files:
+lib/unistdio/u32-u32-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-sprintf b/modules/unistdio/u32-u32-sprintf
new file mode 100644
index 0000000000..ffa2d02299
--- /dev/null
+++ b/modules/unistdio/u32-u32-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-32 string.
+
+Files:
+lib/unistdio/u32-u32-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-vasnprintf b/modules/unistdio/u32-u32-vasnprintf
new file mode 100644
index 0000000000..cdeb3ba64e
--- /dev/null
+++ b/modules/unistdio/u32-u32-vasnprintf
@@ -0,0 +1,59 @@
+Description:
+Formatted output to UTF-32 strings.
+
+Files:
+lib/unistdio/u32-u32-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/u32-printf-parse
+unistdio/u-printf-args
+uniconv/u32-conv-from-enc
+unistr/u32-cpy
+unistr/u32-set
+unistr/u32-mbsnlen
+unistr/u8-to-u32
+unistr/u16-to-u32
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-vasprintf b/modules/unistdio/u32-u32-vasprintf
new file mode 100644
index 0000000000..53f7b66670
--- /dev/null
+++ b/modules/unistdio/u32-u32-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-32 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u32-u32-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-vsnprintf b/modules/unistdio/u32-u32-vsnprintf
new file mode 100644
index 0000000000..0958d11054
--- /dev/null
+++ b/modules/unistdio/u32-u32-vsnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a fixed-length UTF-32 string.
+
+Files:
+lib/unistdio/u32-u32-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-vasnprintf
+unistr/u32-cpy
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-u32-vsprintf b/modules/unistdio/u32-u32-vsprintf
new file mode 100644
index 0000000000..17860125a0
--- /dev/null
+++ b/modules/unistdio/u32-u32-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-32 string.
+
+Files:
+lib/unistdio/u32-u32-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-u32-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-u32-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-vasnprintf b/modules/unistdio/u32-vasnprintf
new file mode 100644
index 0000000000..188294ca4e
--- /dev/null
+++ b/modules/unistdio/u32-vasnprintf
@@ -0,0 +1,59 @@
+Description:
+Formatted output to UTF-32 strings.
+
+Files:
+lib/unistdio/u32-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/ulc-printf-parse
+unistdio/u-printf-args
+uniconv/u32-conv-from-enc
+unistr/u32-cpy
+unistr/u32-set
+unistr/u32-mbsnlen
+unistr/u8-to-u32
+unistr/u16-to-u32
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-vasnprintf-tests b/modules/unistdio/u32-vasnprintf-tests
new file mode 100644
index 0000000000..396d3c4ae4
--- /dev/null
+++ b/modules/unistdio/u32-vasnprintf-tests
@@ -0,0 +1,31 @@
+Files:
+tests/unistdio/test-u32-vasnprintf1.c
+tests/unistdio/test-u32-asnprintf1.h
+tests/unistdio/test-u32-printf1.h
+tests/unistdio/test-u32-vasnprintf2.sh
+tests/unistdio/test-u32-vasnprintf2.c
+tests/unistdio/test-u32-vasnprintf3.sh
+tests/unistdio/test-u32-vasnprintf3.c
+m4/locale-fr.m4
+
+Depends-on:
+unistr/u32-cmp
+unistr/u32-cpy
+unistr/u32-strcmp
+unistr/u32-strlen
+
+configure.ac:
+gt_LOCALE_FR
+gt_LOCALE_FR_UTF8
+
+Makefile.am:
+TESTS += test-u32-vasnprintf1 unistdio/test-u32-vasnprintf2.sh unistdio/test-u32-vasnprintf3.sh
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
+check_PROGRAMS += test-u32-vasnprintf1 test-u32-vasnprintf2 test-u32-vasnprintf3
+test_u32_vasnprintf1_SOURCES = unistdio/test-u32-vasnprintf1.c
+test_u32_vasnprintf1_LDADD = $(LDADD) @LIBICONV@
+test_u32_vasnprintf2_SOURCES = unistdio/test-u32-vasnprintf2.c
+test_u32_vasnprintf2_LDADD = $(LDADD) @LIBICONV@
+test_u32_vasnprintf3_SOURCES = unistdio/test-u32-vasnprintf3.c
+test_u32_vasnprintf3_LDADD = $(LDADD) @LIBICONV@
+EXTRA_DIST += unistdio/test-u32-vasnprintf2.sh unistdio/test-u32-vasnprintf3.sh
diff --git a/modules/unistdio/u32-vasprintf b/modules/unistdio/u32-vasprintf
new file mode 100644
index 0000000000..cc5a7c0fdb
--- /dev/null
+++ b/modules/unistdio/u32-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-32 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u32-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-vasprintf-tests b/modules/unistdio/u32-vasprintf-tests
new file mode 100644
index 0000000000..6d85b0f1ff
--- /dev/null
+++ b/modules/unistdio/u32-vasprintf-tests
@@ -0,0 +1,13 @@
+Files:
+tests/unistdio/test-u32-vasprintf1.c
+tests/unistdio/test-u32-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u32-vasprintf1
+check_PROGRAMS += test-u32-vasprintf1
+test_u32_vasprintf1_SOURCES = unistdio/test-u32-vasprintf1.c
+test_u32_vasprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u32-vsnprintf b/modules/unistdio/u32-vsnprintf
new file mode 100644
index 0000000000..88d3471118
--- /dev/null
+++ b/modules/unistdio/u32-vsnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a fixed-length UTF-32 string.
+
+Files:
+lib/unistdio/u32-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-vasnprintf
+unistr/u32-cpy
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-vsnprintf-tests b/modules/unistdio/u32-vsnprintf-tests
new file mode 100644
index 0000000000..e183f7535d
--- /dev/null
+++ b/modules/unistdio/u32-vsnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u32-vsnprintf1.c
+tests/unistdio/test-u32-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u32-vsnprintf1
+check_PROGRAMS += test-u32-vsnprintf1
+test_u32_vsnprintf1_SOURCES = unistdio/test-u32-vsnprintf1.c
+test_u32_vsnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u32-vsprintf b/modules/unistdio/u32-vsprintf
new file mode 100644
index 0000000000..d6960883d9
--- /dev/null
+++ b/modules/unistdio/u32-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-32 string.
+
+Files:
+lib/unistdio/u32-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u32-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u32-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u32-vsprintf-tests b/modules/unistdio/u32-vsprintf-tests
new file mode 100644
index 0000000000..af1941e8ff
--- /dev/null
+++ b/modules/unistdio/u32-vsprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u32-vsprintf1.c
+tests/unistdio/test-u32-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u32-vsprintf1
+check_PROGRAMS += test-u32-vsprintf1
+test_u32_vsprintf1_SOURCES = unistdio/test-u32-vsprintf1.c
+test_u32_vsprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u8-asnprintf b/modules/unistdio/u8-asnprintf
new file mode 100644
index 0000000000..a0542488d9
--- /dev/null
+++ b/modules/unistdio/u8-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-8 string, with automatic memory allocation and
+bounded output size.
+
+Files:
+lib/unistdio/u8-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-asnprintf-tests b/modules/unistdio/u8-asnprintf-tests
new file mode 100644
index 0000000000..10afe9dde2
--- /dev/null
+++ b/modules/unistdio/u8-asnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u8-asnprintf1.c
+tests/unistdio/test-u8-asnprintf1.h
+tests/unistdio/test-u8-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u8-asnprintf1
+check_PROGRAMS += test-u8-asnprintf1
+test_u8_asnprintf1_SOURCES = unistdio/test-u8-asnprintf1.c
+test_u8_asnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u8-asprintf b/modules/unistdio/u8-asprintf
new file mode 100644
index 0000000000..56f78a189e
--- /dev/null
+++ b/modules/unistdio/u8-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-8 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u8-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-printf-parse b/modules/unistdio/u8-printf-parse
new file mode 100644
index 0000000000..52973b412e
--- /dev/null
+++ b/modules/unistdio/u8-printf-parse
@@ -0,0 +1,30 @@
+Description:
+Parsing an UTF-8 format string.
+
+Files:
+lib/unistdio/u-printf-parse.h
+lib/unistdio/u8-printf-parse.c
+lib/printf-parse.h
+lib/printf-parse.c
+m4/vasnprintf.m4
+
+Depends-on:
+unistdio/u-printf-args
+stdint
+xsize
+
+configure.ac:
+gl_PREREQ_PRINTF_PARSE
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-printf-parse.c
+
+Include:
+"unistdio/u-printf-parse.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-snprintf b/modules/unistdio/u8-snprintf
new file mode 100644
index 0000000000..ee1fd7ab16
--- /dev/null
+++ b/modules/unistdio/u8-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length UTF-8 string.
+
+Files:
+lib/unistdio/u8-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-sprintf b/modules/unistdio/u8-sprintf
new file mode 100644
index 0000000000..628089634a
--- /dev/null
+++ b/modules/unistdio/u8-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-8 string.
+
+Files:
+lib/unistdio/u8-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-asnprintf b/modules/unistdio/u8-u8-asnprintf
new file mode 100644
index 0000000000..c8ddf9d805
--- /dev/null
+++ b/modules/unistdio/u8-u8-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-8 string, with automatic memory allocation and
+bounded output size.
+
+Files:
+lib/unistdio/u8-u8-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-asprintf b/modules/unistdio/u8-u8-asprintf
new file mode 100644
index 0000000000..73289385de
--- /dev/null
+++ b/modules/unistdio/u8-u8-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-8 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u8-u8-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-snprintf b/modules/unistdio/u8-u8-snprintf
new file mode 100644
index 0000000000..de12c800db
--- /dev/null
+++ b/modules/unistdio/u8-u8-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length UTF-8 string.
+
+Files:
+lib/unistdio/u8-u8-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-sprintf b/modules/unistdio/u8-u8-sprintf
new file mode 100644
index 0000000000..464163785e
--- /dev/null
+++ b/modules/unistdio/u8-u8-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-8 string.
+
+Files:
+lib/unistdio/u8-u8-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-vasnprintf b/modules/unistdio/u8-u8-vasnprintf
new file mode 100644
index 0000000000..ec1cedede8
--- /dev/null
+++ b/modules/unistdio/u8-u8-vasnprintf
@@ -0,0 +1,59 @@
+Description:
+Formatted output to UTF-8 strings.
+
+Files:
+lib/unistdio/u8-u8-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/u8-printf-parse
+unistdio/u-printf-args
+uniconv/u8-conv-from-enc
+unistr/u8-cpy
+unistr/u8-set
+unistr/u8-mbsnlen
+unistr/u16-to-u8
+unistr/u32-to-u8
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-vasprintf b/modules/unistdio/u8-u8-vasprintf
new file mode 100644
index 0000000000..750dddb98a
--- /dev/null
+++ b/modules/unistdio/u8-u8-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-8 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u8-u8-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-vsnprintf b/modules/unistdio/u8-u8-vsnprintf
new file mode 100644
index 0000000000..459c9bb934
--- /dev/null
+++ b/modules/unistdio/u8-u8-vsnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a fixed-length UTF-8 string.
+
+Files:
+lib/unistdio/u8-u8-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-vasnprintf
+unistr/u8-cpy
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-u8-vsprintf b/modules/unistdio/u8-u8-vsprintf
new file mode 100644
index 0000000000..53bab92d8c
--- /dev/null
+++ b/modules/unistdio/u8-u8-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-8 string.
+
+Files:
+lib/unistdio/u8-u8-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-u8-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-u8-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-vasnprintf b/modules/unistdio/u8-vasnprintf
new file mode 100644
index 0000000000..3d89771a38
--- /dev/null
+++ b/modules/unistdio/u8-vasnprintf
@@ -0,0 +1,59 @@
+Description:
+Formatted output to UTF-8 strings.
+
+Files:
+lib/unistdio/u8-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/ulc-printf-parse
+unistdio/u-printf-args
+uniconv/u8-conv-from-enc
+unistr/u8-cpy
+unistr/u8-set
+unistr/u8-mbsnlen
+unistr/u16-to-u8
+unistr/u32-to-u8
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-vasnprintf-tests b/modules/unistdio/u8-vasnprintf-tests
new file mode 100644
index 0000000000..45425336b6
--- /dev/null
+++ b/modules/unistdio/u8-vasnprintf-tests
@@ -0,0 +1,31 @@
+Files:
+tests/unistdio/test-u8-vasnprintf1.c
+tests/unistdio/test-u8-asnprintf1.h
+tests/unistdio/test-u8-printf1.h
+tests/unistdio/test-u8-vasnprintf2.sh
+tests/unistdio/test-u8-vasnprintf2.c
+tests/unistdio/test-u8-vasnprintf3.sh
+tests/unistdio/test-u8-vasnprintf3.c
+m4/locale-fr.m4
+
+Depends-on:
+unistr/u8-cmp
+unistr/u8-cpy
+unistr/u8-strcmp
+unistr/u8-strlen
+
+configure.ac:
+gt_LOCALE_FR
+gt_LOCALE_FR_UTF8
+
+Makefile.am:
+TESTS += test-u8-vasnprintf1 unistdio/test-u8-vasnprintf2.sh unistdio/test-u8-vasnprintf3.sh
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
+check_PROGRAMS += test-u8-vasnprintf1 test-u8-vasnprintf2 test-u8-vasnprintf3
+test_u8_vasnprintf1_SOURCES = unistdio/test-u8-vasnprintf1.c
+test_u8_vasnprintf1_LDADD = $(LDADD) @LIBICONV@
+test_u8_vasnprintf2_SOURCES = unistdio/test-u8-vasnprintf2.c
+test_u8_vasnprintf2_LDADD = $(LDADD) @LIBICONV@
+test_u8_vasnprintf3_SOURCES = unistdio/test-u8-vasnprintf3.c
+test_u8_vasnprintf3_LDADD = $(LDADD) @LIBICONV@
+EXTRA_DIST += unistdio/test-u8-vasnprintf2.sh unistdio/test-u8-vasnprintf3.sh
diff --git a/modules/unistdio/u8-vasprintf b/modules/unistdio/u8-vasprintf
new file mode 100644
index 0000000000..7785eabf9d
--- /dev/null
+++ b/modules/unistdio/u8-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to an UTF-8 string, with automatic memory allocation.
+
+Files:
+lib/unistdio/u8-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-vasprintf-tests b/modules/unistdio/u8-vasprintf-tests
new file mode 100644
index 0000000000..a9490b4a41
--- /dev/null
+++ b/modules/unistdio/u8-vasprintf-tests
@@ -0,0 +1,13 @@
+Files:
+tests/unistdio/test-u8-vasprintf1.c
+tests/unistdio/test-u8-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u8-vasprintf1
+check_PROGRAMS += test-u8-vasprintf1
+test_u8_vasprintf1_SOURCES = unistdio/test-u8-vasprintf1.c
+test_u8_vasprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u8-vsnprintf b/modules/unistdio/u8-vsnprintf
new file mode 100644
index 0000000000..1a4f05f89a
--- /dev/null
+++ b/modules/unistdio/u8-vsnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a fixed-length UTF-8 string.
+
+Files:
+lib/unistdio/u8-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-vasnprintf
+unistr/u8-cpy
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-vsnprintf-tests b/modules/unistdio/u8-vsnprintf-tests
new file mode 100644
index 0000000000..b8c7c0bbc4
--- /dev/null
+++ b/modules/unistdio/u8-vsnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u8-vsnprintf1.c
+tests/unistdio/test-u8-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u8-vsnprintf1
+check_PROGRAMS += test-u8-vsnprintf1
+test_u8_vsnprintf1_SOURCES = unistdio/test-u8-vsnprintf1.c
+test_u8_vsnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/u8-vsprintf b/modules/unistdio/u8-vsprintf
new file mode 100644
index 0000000000..99d76a506f
--- /dev/null
+++ b/modules/unistdio/u8-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to an UTF-8 string.
+
+Files:
+lib/unistdio/u8-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/u8-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/u8-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/u8-vsprintf-tests b/modules/unistdio/u8-vsprintf-tests
new file mode 100644
index 0000000000..28794c2762
--- /dev/null
+++ b/modules/unistdio/u8-vsprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-u8-vsprintf1.c
+tests/unistdio/test-u8-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-u8-vsprintf1
+check_PROGRAMS += test-u8-vsprintf1
+test_u8_vsprintf1_SOURCES = unistdio/test-u8-vsprintf1.c
+test_u8_vsprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/ulc-asnprintf b/modules/unistdio/ulc-asnprintf
new file mode 100644
index 0000000000..921c572c09
--- /dev/null
+++ b/modules/unistdio/ulc-asnprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a string, with automatic memory allocation and bounded
+output size.
+
+Files:
+lib/unistdio/ulc-asnprintf.c
+lib/unistdio/u-asnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-asnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-asnprintf-tests b/modules/unistdio/ulc-asnprintf-tests
new file mode 100644
index 0000000000..2588a7ffc5
--- /dev/null
+++ b/modules/unistdio/ulc-asnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-ulc-asnprintf1.c
+tests/unistdio/test-ulc-asnprintf1.h
+tests/unistdio/test-ulc-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-ulc-asnprintf1
+check_PROGRAMS += test-ulc-asnprintf1
+test_ulc_asnprintf1_SOURCES = unistdio/test-ulc-asnprintf1.c
+test_ulc_asnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/ulc-asprintf b/modules/unistdio/ulc-asprintf
new file mode 100644
index 0000000000..587436b0c3
--- /dev/null
+++ b/modules/unistdio/ulc-asprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a string, with automatic memory allocation.
+
+Files:
+lib/unistdio/ulc-asprintf.c
+lib/unistdio/u-asprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-asprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-fprintf b/modules/unistdio/ulc-fprintf
new file mode 100644
index 0000000000..cdbaf37af0
--- /dev/null
+++ b/modules/unistdio/ulc-fprintf
@@ -0,0 +1,25 @@
+Description:
+Print formatted output to a stream.
+
+Files:
+lib/unistdio/ulc-fprintf.c
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasnprintf
+fseterr
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-fprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-printf-parse b/modules/unistdio/ulc-printf-parse
new file mode 100644
index 0000000000..ba45d0535c
--- /dev/null
+++ b/modules/unistdio/ulc-printf-parse
@@ -0,0 +1,31 @@
+Description:
+Parsing an ASCII format string.
+
+Files:
+lib/unistdio/u-printf-parse.h
+lib/unistdio/ulc-printf-parse.c
+lib/printf-parse.h
+lib/printf-parse.c
+m4/vasnprintf.m4
+
+Depends-on:
+unistdio/u-printf-args
+stdint
+xsize
+c-ctype
+
+configure.ac:
+gl_PREREQ_PRINTF_PARSE
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-printf-parse.c
+
+Include:
+"unistdio/u-printf-parse.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-snprintf b/modules/unistdio/ulc-snprintf
new file mode 100644
index 0000000000..0a56b7917c
--- /dev/null
+++ b/modules/unistdio/ulc-snprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length string.
+
+Files:
+lib/unistdio/ulc-snprintf.c
+lib/unistdio/u-snprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vsnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-snprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-sprintf b/modules/unistdio/ulc-sprintf
new file mode 100644
index 0000000000..99fdb1b8c2
--- /dev/null
+++ b/modules/unistdio/ulc-sprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a string.
+
+Files:
+lib/unistdio/ulc-sprintf.c
+lib/unistdio/u-sprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-sprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-sprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-vasnprintf b/modules/unistdio/ulc-vasnprintf
new file mode 100644
index 0000000000..7136a1d13d
--- /dev/null
+++ b/modules/unistdio/ulc-vasnprintf
@@ -0,0 +1,57 @@
+Description:
+Formatted output to strings.
+
+Files:
+lib/unistdio/ulc-vasnprintf.c
+lib/vasnprintf.c
+m4/vasnprintf.m4
+m4/printf.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/longlong.m4
+m4/intmax_t.m4
+m4/stdint_h.m4
+m4/inttypes_h.m4
+m4/eoverflow.m4
+
+Depends-on:
+unistdio/base
+unistdio/ulc-printf-parse
+unistdio/u-printf-args
+uniconv/u8-conv-to-enc
+uniconv/u16-conv-to-enc
+uniconv/u32-conv-to-enc
+unistr/u8-strlen
+unistr/u8-strmblen
+unistr/u16-strlen
+unistr/u16-strmblen
+unistr/u32-strlen
+unistr/u32-strmblen
+mbsnlen
+isnan-nolibm
+isnanl-nolibm
+frexpl-nolibm
+printf-frexp
+printf-frexpl
+signbit
+fpucw
+printf-safe
+alloca-opt
+localcharset
+xsize
+
+configure.ac:
+gl_PREREQ_VASNPRINTF_WITH_EXTRAS
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-vasnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-vasnprintf-tests b/modules/unistdio/ulc-vasnprintf-tests
new file mode 100644
index 0000000000..eacc3e1acf
--- /dev/null
+++ b/modules/unistdio/ulc-vasnprintf-tests
@@ -0,0 +1,27 @@
+Files:
+tests/unistdio/test-ulc-vasnprintf1.c
+tests/unistdio/test-ulc-asnprintf1.h
+tests/unistdio/test-ulc-printf1.h
+tests/unistdio/test-ulc-vasnprintf2.sh
+tests/unistdio/test-ulc-vasnprintf2.c
+tests/unistdio/test-ulc-vasnprintf3.sh
+tests/unistdio/test-ulc-vasnprintf3.c
+m4/locale-fr.m4
+
+Depends-on:
+
+configure.ac:
+gt_LOCALE_FR
+gt_LOCALE_FR_UTF8
+
+Makefile.am:
+TESTS += test-ulc-vasnprintf1 unistdio/test-ulc-vasnprintf2.sh unistdio/test-ulc-vasnprintf3.sh
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@'
+check_PROGRAMS += test-ulc-vasnprintf1 test-ulc-vasnprintf2 test-ulc-vasnprintf3
+test_ulc_vasnprintf1_SOURCES = unistdio/test-ulc-vasnprintf1.c
+test_ulc_vasnprintf1_LDADD = $(LDADD) @LIBICONV@
+test_ulc_vasnprintf2_SOURCES = unistdio/test-ulc-vasnprintf2.c
+test_ulc_vasnprintf2_LDADD = $(LDADD) @LIBICONV@
+test_ulc_vasnprintf3_SOURCES = unistdio/test-ulc-vasnprintf3.c
+test_ulc_vasnprintf3_LDADD = $(LDADD) @LIBICONV@
+EXTRA_DIST += unistdio/test-ulc-vasnprintf2.sh unistdio/test-ulc-vasnprintf3.sh
diff --git a/modules/unistdio/ulc-vasprintf b/modules/unistdio/ulc-vasprintf
new file mode 100644
index 0000000000..8264dd70b6
--- /dev/null
+++ b/modules/unistdio/ulc-vasprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a string, with automatic memory allocation.
+
+Files:
+lib/unistdio/ulc-vasprintf.c
+lib/unistdio/u-vasprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-vasprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-vasprintf-tests b/modules/unistdio/ulc-vasprintf-tests
new file mode 100644
index 0000000000..d006624de9
--- /dev/null
+++ b/modules/unistdio/ulc-vasprintf-tests
@@ -0,0 +1,13 @@
+Files:
+tests/unistdio/test-ulc-vasprintf1.c
+tests/unistdio/test-ulc-printf1.h
+
+Depends-on:
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-ulc-vasprintf1
+check_PROGRAMS += test-ulc-vasprintf1
+test_ulc_vasprintf1_SOURCES = unistdio/test-ulc-vasprintf1.c
+test_ulc_vasprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/ulc-vfprintf b/modules/unistdio/ulc-vfprintf
new file mode 100644
index 0000000000..0b5fef6886
--- /dev/null
+++ b/modules/unistdio/ulc-vfprintf
@@ -0,0 +1,25 @@
+Description:
+Print formatted output to a stream.
+
+Files:
+lib/unistdio/ulc-vfprintf.c
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasnprintf
+fseterr
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-vfprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-vsnprintf b/modules/unistdio/ulc-vsnprintf
new file mode 100644
index 0000000000..e3c8686717
--- /dev/null
+++ b/modules/unistdio/ulc-vsnprintf
@@ -0,0 +1,25 @@
+Description:
+Formatted output to a fixed-length string.
+
+Files:
+lib/unistdio/ulc-vsnprintf.c
+lib/unistdio/u-vsnprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasnprintf
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-vsnprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-vsnprintf-tests b/modules/unistdio/ulc-vsnprintf-tests
new file mode 100644
index 0000000000..e609035a5a
--- /dev/null
+++ b/modules/unistdio/ulc-vsnprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-ulc-vsnprintf1.c
+tests/unistdio/test-ulc-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-ulc-vsnprintf1
+check_PROGRAMS += test-ulc-vsnprintf1
+test_ulc_vsnprintf1_SOURCES = unistdio/test-ulc-vsnprintf1.c
+test_ulc_vsnprintf1_LDADD = $(LDADD) @LIBICONV@
diff --git a/modules/unistdio/ulc-vsprintf b/modules/unistdio/ulc-vsprintf
new file mode 100644
index 0000000000..0138787ed9
--- /dev/null
+++ b/modules/unistdio/ulc-vsprintf
@@ -0,0 +1,26 @@
+Description:
+Formatted output to a string.
+
+Files:
+lib/unistdio/ulc-vsprintf.c
+lib/unistdio/u-vsprintf.h
+
+Depends-on:
+unistdio/base
+unistdio/ulc-vasnprintf
+stdint
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += unistdio/ulc-vsprintf.c
+
+Include:
+"unistdio.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+
diff --git a/modules/unistdio/ulc-vsprintf-tests b/modules/unistdio/ulc-vsprintf-tests
new file mode 100644
index 0000000000..123d1df01d
--- /dev/null
+++ b/modules/unistdio/ulc-vsprintf-tests
@@ -0,0 +1,14 @@
+Files:
+tests/unistdio/test-ulc-vsprintf1.c
+tests/unistdio/test-ulc-printf1.h
+
+Depends-on:
+xalloc
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-ulc-vsprintf1
+check_PROGRAMS += test-ulc-vsprintf1
+test_ulc_vsprintf1_SOURCES = unistdio/test-ulc-vsprintf1.c
+test_ulc_vsprintf1_LDADD = $(LDADD) @LIBICONV@