Gnulib documents that mingw vsnprintf is broken (it returns -1 on out-of-space, instead of the count of what would have been printed); but while we were using the snprintf wrapper, we had not yet been using the vsnprintf wrapper. Meanwhile, mingw (but not mingw64) has a replacement snprintf that fixes return values, but still lacks %1$s support; so in that case, gnulib didn't replace snprintf, but libintl then went ahead and installed a version that supported %1$s but not return values. Gnulib has since been fixed to guarantee that the snprintf module will always guarantee the constraints needed by libintl. Also, we want to guarantee that strdup sets errno on failure. * .gnulib: Update to latest, for vsnprintf fix. * bootstrap.conf (gnulib_modules): Add vsnprintf, strdup-posix. Reported by Matthias Bolte. --- v3: more gnulib updates, also fix strdup v2: see https://www.redhat.com/archives/libvir-list/2011-July/msg00042.html * .gnulib 7269b35...8db4963 (23): > sys_select: define sigset_t more portably > * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect. > pselect: Use pthread_sigmask, not sigprocmask. > modules/pselect: Add Bruno and Jim to maintainers. > * modules/pselect: Add select, LIBSOCKET. > * lib/pselect.c (pselect): Use plain name, without "rpl_". > pselect: document better > pthread_sigmask: new module > test-pselect: new module > * tests/test-sys_select.c (sigset_t): Test for it, too. > snprintf: guarantee %1$d, for libintl > maint: exempt stdio-read.c and stdio-write.c from the cppi check > maint: indent with spaces, not TABs, and add a rule to check this > maint.mk: correct omissions in prohibit_argmatch_without_use check > Comments about EINTR. > autoupdate > xnanosleep: Rewrite to use new dtotimespec module. > timespec-add, timespec-sub: new modules > dtotimespec: new module > * lib/timespec.h (timespectod): New inline function. > * lib/timespec.h (timespec_sign): New inline function. > pselect: new module > sys_select: don't depend on sys_socket I'm also investigating how easy it would be to use gnulib's new pthread_sigmask. .gnulib | 2 +- bootstrap.conf | 2 ++ 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/.gnulib b/.gnulib index 7269b35..8db4963 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 7269b35c8d9be1a6f97906b9e29b8c422b92fc31 +Subproject commit 8db49630deab35ffbce5c113aed093359a75091d diff --git a/bootstrap.conf b/bootstrap.conf index 581d60b..d3ff150 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -80,6 +80,7 @@ socket stdarg stpcpy strchrnul +strdup-posix strndup strerror strerror_r-posix @@ -97,6 +98,7 @@ usleep vasprintf verify vc-list-files +vsnprintf waitpid warnings ' -- 1.7.4.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list