summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2006-08-08 20:59:26 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2006-08-08 20:59:26 +0000
commit7bb2361e657dc31ed73891f8e1ffdbfb916624c2 (patch)
tree6b73324fb644599ccb1d0c2a666e60b909d2484f /dbus
parent759fa115c95051eb32f6ed41b3cda1b219fc1aed (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.c3
-rw-r--r--dbus/dbus-sysdeps.c15
-rw-r--r--dbus/dbus-sysdeps.h4
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
*/