From: Ralf Habacker Date: Fri, 5 Sep 2014 16:02:44 +0000 (+0200) Subject: Add dbus string convenience function _dbus_string_init_from_string(). X-Git-Tag: dbus-1.9.0~30 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0cde94ecd96da47a1062a5585a897d81c3d6279c;p=thirdparty%2Fdbus.git Add dbus string convenience function _dbus_string_init_from_string(). Bug: https://bugs.freedesktop.org/show_bug.cgi?id=57272 Reviewed-by: Simon McVittie --- diff --git a/dbus/dbus-string.c b/dbus/dbus-string.c index c4e2e7fcb..200107408 100644 --- a/dbus/dbus-string.c +++ b/dbus/dbus-string.c @@ -233,6 +233,23 @@ _dbus_string_init_const_len (DBusString *str, */ } +/** + * Initializes a string from another string. The + * string must eventually be freed with _dbus_string_free(). + * + * @param str memory to hold the string + * @param from instance from which the string is initialized + * @returns #TRUE on success, #FALSE if no memory + */ +dbus_bool_t +_dbus_string_init_from_string(DBusString *str, + const DBusString *from) +{ + if (!_dbus_string_init (str)) + return FALSE; + return _dbus_string_append (str, _dbus_string_get_const_data (from)); +} + /** * Frees a string created by _dbus_string_init(). * diff --git a/dbus/dbus-string.h b/dbus/dbus-string.h index 86fb8c39b..44860feb4 100644 --- a/dbus/dbus-string.h +++ b/dbus/dbus-string.h @@ -75,6 +75,9 @@ void _dbus_string_init_const_len (DBusString *str, int len); dbus_bool_t _dbus_string_init_preallocated (DBusString *str, int allocate_size); + +dbus_bool_t _dbus_string_init_from_string (DBusString *str, + const DBusString *from); void _dbus_string_free (DBusString *str); void _dbus_string_lock (DBusString *str); dbus_bool_t _dbus_string_compact (DBusString *str,