From: Colin Walters Date: Tue, 16 Mar 2010 13:00:23 +0000 (-0400) Subject: Add _dbus_credentials_to_string_append X-Git-Tag: dbus-1.2.22~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e48b0928490e175d08a5a33b29b56314c806305c;p=platform%2Fupstream%2Fdbus.git Add _dbus_credentials_to_string_append Convert the credentials to a string; useful for logging. --- diff --git a/dbus/dbus-credentials.c b/dbus/dbus-credentials.c index f06d5c0..889166b 100644 --- a/dbus/dbus-credentials.c +++ b/dbus/dbus-credentials.c @@ -502,6 +502,49 @@ _dbus_credentials_same_user (DBusCredentials *credentials, strcmp (credentials->windows_sid, other_credentials->windows_sid) == 0)); } +/** + * Convert the credentials in this object to a human-readable + * string format, and append to the given string. + * + * @param credentials the object + * @param string append to this string + * @returns #FALSE if no memory + */ +dbus_bool_t +_dbus_credentials_to_string_append (DBusCredentials *credentials, + DBusString *string) +{ + dbus_bool_t join; + + join = FALSE; + if (credentials->unix_uid != DBUS_UID_UNSET) + { + if (!_dbus_string_append_printf (string, "uid=%d", credentials->unix_uid)) + goto oom; + join = TRUE; + } + if (credentials->unix_pid != DBUS_PID_UNSET) + { + if (!_dbus_string_append_printf (string, "%spid=%d", join ? " " : "", credentials->unix_pid)) + goto oom; + join = TRUE; + } + else + join = FALSE; + if (credentials->windows_sid != NULL) + { + if (!_dbus_string_append_printf (string, "%ssid=%s", join ? " " : "", credentials->windows_sid)) + goto oom; + join = TRUE; + } + else + join = FALSE; + + return TRUE; +oom: + return FALSE; +} + /** @} */ /* tests in dbus-credentials-util.c */ diff --git a/dbus/dbus-credentials.h b/dbus/dbus-credentials.h index 25f31b7..ef6124f 100644 --- a/dbus/dbus-credentials.h +++ b/dbus/dbus-credentials.h @@ -71,7 +71,8 @@ void _dbus_credentials_clear (DBusCredentials DBusCredentials* _dbus_credentials_copy (DBusCredentials *credentials); dbus_bool_t _dbus_credentials_same_user (DBusCredentials *credentials, DBusCredentials *other_credentials); - +dbus_bool_t _dbus_credentials_to_string_append (DBusCredentials *credentials, + DBusString *string); DBUS_END_DECLS