X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-error.c;h=5faa17384eefe875d76d1e8b8a586ec3ab0566fe;hb=b5baa8fe8838870cc2bd7cef0949299f061ae15d;hp=f86da624fddeb89a7ef0509309ac9f35761d80a2;hpb=89ffcd2ad5bf87866314e96c4179ba622851cd6e;p=elogind.git diff --git a/src/libsystemd-bus/bus-error.c b/src/libsystemd-bus/bus-error.c index f86da624f..5faa17384 100644 --- a/src/libsystemd-bus/bus-error.c +++ b/src/libsystemd-bus/bus-error.c @@ -161,10 +161,17 @@ int bus_error_from_errno(sd_bus_error *e, int error) { if (error == -ENOMEM) sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.NoMemory", strerror(-error)); - else if (error == -EPERM || error == EACCES) + else if (error == -EPERM || error == -EACCES) sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.AccessDenied", strerror(-error)); else sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.Failed", "Operation failed"); return error; } + +const char *bus_error_message(const sd_bus_error *e, int error) { + if (e && e->message) + return e->message; + + return strerror(error); +}