- if (error == -ENOMEM)
- sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.NoMemory", strerror(-error));
- 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");
+ switch (error) {
+
+ case -ENOMEM:
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.NoMemory", "Out of memory");
+ break;
+
+ case -EPERM:
+ case -EACCES:
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.AccessDenied", "Access denied");
+ break;
+
+ case -EINVAL:
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid argument");
+ break;
+
+ case -ESRCH:
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.UnixProcessIdUnknown", "No such process");
+ break;
+
+ case -ENOENT:
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.FileNotFound", "File not found");
+ break;
+
+ case -EEXIST:
+ sd_bus_error_set_const(e, "org.freedesktop.DBus.Error.FileExists", "File exists");
+ break;