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 | |
| 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>)
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | dbus/dbus-string.c | 3 | ||||
| -rw-r--r-- | dbus/dbus-sysdeps.c | 15 | ||||
| -rw-r--r-- | dbus/dbus-sysdeps.h | 4 | 
4 files changed, 28 insertions, 3 deletions
@@ -1,9 +1,16 @@  2006-08-08  John (J5) Palmieri  <johnp@redhat.com> +	* dbus/dbus-sysdeps.h: +	* dbus/dbus-sysdeps.c:  +	  add _dbus_printf_length (patch from Peter Kümmel  +	  <syntheticpp at gmx dot net>) + +2006-08-08  John (J5) Palmieri  <johnp@redhat.com> +  	* dbus/dbus-internals.c: unistd.h is not used   	(_dbus_verbose_real): only enable verbose printing   	if DBUS_VERBOSE environment var is set to '1' -	(patch from Peter Kümmel <syntheticpp at gmx dot net> +	(patch from Peter Kümmel <syntheticpp at gmx dot net>)  2006-08-08  John (J5) Palmieri  <johnp@redhat.com> 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   */  | 
