diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2006-08-08 20:59:26 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2006-08-08 20:59:26 +0000 |
commit | 7bb2361e657dc31ed73891f8e1ffdbfb916624c2 (patch) | |
tree | 6b73324fb644599ccb1d0c2a666e60b909d2484f /dbus | |
parent | 759fa115c95051eb32f6ed41b3cda1b219fc1aed (diff) |
* dbus/dbus-sysdeps.h:
* dbus/dbus-sysdeps.c:
add _dbus_printf_length (patch from Peter Kümmel
<syntheticpp at gmx dot net>)
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-string.c | 3 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.c | 15 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.h | 4 |
3 files changed, 20 insertions, 2 deletions
diff --git a/dbus/dbus-string.c b/dbus/dbus-string.c index 287fe1cc..eec27b80 100644 --- a/dbus/dbus-string.c +++ b/dbus/dbus-string.c @@ -1193,7 +1193,6 @@ _dbus_string_append_printf_valist (DBusString *str, va_list args) { int len; - char c; va_list args_copy; DBUS_STRING_PREAMBLE (str); @@ -1201,7 +1200,7 @@ _dbus_string_append_printf_valist (DBusString *str, DBUS_VA_COPY (args_copy, args); /* Measure the message length without terminating nul */ - len = vsnprintf (&c, 1, format, args); + len = _dbus_printf_length (format, args); if (!_dbus_string_lengthen (str, len)) { diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index e28ea667..cd0f7cf1 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -2983,6 +2983,21 @@ _dbus_full_duplex_pipe (int *fd1, #endif } + +#ifndef DBUS_WIN +/** + * Measure the message length without terminating nul + */ +int _dbus_printf_length (const char *format, + va_list args) +{ + char c; + return vsnprintf (&c, 1, format, args); +} +#endif + + + /** @} end of sysdeps */ /* tests in dbus-sysdeps-util.c */ diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index 03ed28ec..9bc3e485 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -272,6 +272,10 @@ void _dbus_fd_set_close_on_exec (int fd); void _dbus_exit (int code) _DBUS_GNUC_NORETURN; +int _dbus_printf_length (const char *format, + va_list args); + + /** * Portable struct with stat() results */ |