bus: use C99 struct construction for error initializers
That way we can allocate an error struct on-the-fly while calling a function. Nice!
This commit is contained in:
parent
1e64bbc156
commit
c784c5ce77
|
@ -1592,7 +1592,7 @@ static int process_builtin(sd_bus *bus, sd_bus_message *m) {
|
|||
|
||||
r = sd_bus_message_append(reply, "s", sd_id128_to_string(id, sid));
|
||||
} else {
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_INIT;
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
|
||||
sd_bus_error_set(&error,
|
||||
"org.freedesktop.DBus.Error.UnknownMethod",
|
||||
|
@ -1612,7 +1612,7 @@ static int process_builtin(sd_bus *bus, sd_bus_message *m) {
|
|||
}
|
||||
|
||||
static int process_object(sd_bus *bus, sd_bus_message *m) {
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_INIT;
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
_cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
|
||||
struct object_callback *c;
|
||||
int r;
|
||||
|
@ -1857,7 +1857,7 @@ static int process_running(sd_bus *bus, sd_bus_message **ret) {
|
|||
|
||||
if (m->header->type == SD_BUS_MESSAGE_TYPE_METHOD_CALL) {
|
||||
_cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_INIT;
|
||||
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
|
||||
sd_bus_error_set(&error, "org.freedesktop.DBus.Error.UnknownObject", "Unknown object '%s'.", m->path);
|
||||
|
||||
|
|
|
@ -251,9 +251,11 @@ static int server(sd_bus *bus) {
|
|||
}
|
||||
|
||||
} else if (sd_bus_message_is_method_call(m, NULL, NULL)) {
|
||||
const sd_bus_error e = SD_BUS_ERROR_INIT_CONST("org.freedesktop.DBus.Error.UnknownMethod", "Unknown method.");
|
||||
|
||||
r = sd_bus_message_new_method_error(bus, m, &e, &reply);
|
||||
r = sd_bus_message_new_method_error(
|
||||
bus, m,
|
||||
&SD_BUS_ERROR_MAKE("org.freedesktop.DBus.Error.UnknownMethod", "Unknown method."),
|
||||
&reply);
|
||||
if (r < 0) {
|
||||
log_error("Failed to allocate return: %s", strerror(-r));
|
||||
goto fail;
|
||||
|
@ -287,7 +289,7 @@ fail:
|
|||
static void* client1(void*p) {
|
||||
_cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
|
||||
sd_bus *bus = NULL;
|
||||
sd_bus_error error = SD_BUS_ERROR_INIT;
|
||||
sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
const char *hello;
|
||||
int r;
|
||||
int pp[2] = { -1, -1 };
|
||||
|
@ -413,7 +415,7 @@ static int quit_callback(sd_bus *b, int ret, sd_bus_message *m, void *userdata)
|
|||
static void* client2(void*p) {
|
||||
_cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
|
||||
sd_bus *bus = NULL;
|
||||
sd_bus_error error = SD_BUS_ERROR_INIT;
|
||||
sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
bool quit = false;
|
||||
const char *mid;
|
||||
int r;
|
||||
|
|
|
@ -96,9 +96,10 @@ static void *server(void *p) {
|
|||
quit = true;
|
||||
|
||||
} else if (sd_bus_message_is_method_call(m, NULL, NULL)) {
|
||||
const sd_bus_error e = SD_BUS_ERROR_INIT_CONST("org.freedesktop.DBus.Error.UnknownMethod", "Unknown method.");
|
||||
|
||||
r = sd_bus_message_new_method_error(bus, m, &e, &reply);
|
||||
r = sd_bus_message_new_method_error(
|
||||
bus, m,
|
||||
&SD_BUS_ERROR_MAKE("org.freedesktop.DBus.Error.UnknownMethod", "Unknown method."),
|
||||
&reply);
|
||||
if (r < 0) {
|
||||
log_error("Failed to allocate return: %s", strerror(-r));
|
||||
goto fail;
|
||||
|
@ -128,7 +129,7 @@ fail:
|
|||
static int client(struct context *c) {
|
||||
_cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
|
||||
_cleanup_bus_unref_ sd_bus *bus = NULL;
|
||||
sd_bus_error error = SD_BUS_ERROR_INIT;
|
||||
sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
int r;
|
||||
|
||||
assert_se(sd_bus_new(&bus) >= 0);
|
||||
|
|
|
@ -162,8 +162,8 @@ int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid);
|
|||
|
||||
/* Error structures */
|
||||
|
||||
#define SD_BUS_ERROR_INIT {NULL, NULL, 0}
|
||||
#define SD_BUS_ERROR_INIT_CONST(name, message) {(name), (message), 0}
|
||||
#define SD_BUS_ERROR_NULL ((sd_bus_error) {NULL, NULL, 0})
|
||||
#define SD_BUS_ERROR_MAKE(name, message) ((sd_bus_error) {(name), (message), 0})
|
||||
|
||||
void sd_bus_error_free(sd_bus_error *e);
|
||||
int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...);
|
||||
|
|
Loading…
Reference in a new issue