sd-bus: make sd_bus_error_set() more like sd_bus_error_setfv()

In b9c19bc384, I added an assert to _setfv() and
_setf(), but I forgot to do the same in _set(). Let's do this for completeness.

While at it, restructure _set() to use the same style as _setfv().
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2021-04-07 16:04:52 +02:00
parent 1b09b81cf4
commit f1e7cbaef7
+16 -14
View File
@@ -212,27 +212,29 @@ _public_ void sd_bus_error_free(sd_bus_error *e) {
}
_public_ int sd_bus_error_set(sd_bus_error *e, const char *name, const char *message) {
int r;
if (!name)
return 0;
if (!e)
goto finish;
assert_return(!bus_error_is_dirty(e), -EINVAL);
if (e) {
assert_return(!bus_error_is_dirty(e), -EINVAL);
e->name = strdup(name);
if (!e->name) {
*e = BUS_ERROR_OOM;
return -ENOMEM;
e->name = strdup(name);
if (!e->name) {
*e = BUS_ERROR_OOM;
return -ENOMEM;
}
if (message)
e->message = strdup(message);
e->_need_free = 1;
}
if (message)
e->message = strdup(message);
e->_need_free = 1;
finish:
return -bus_error_name_to_errno(name);
r = bus_error_name_to_errno(name);
assert(r > 0);
return -r;
}
int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_list ap) {