chiark / gitweb /
localectl: always print error message when an operation fails
authorLennart Poettering <lennart@poettering.net>
Thu, 31 Oct 2013 02:12:37 +0000 (03:12 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 31 Oct 2013 02:14:37 +0000 (03:14 +0100)
src/locale/localectl.c
src/timedate/timedatectl.c

index 402b058e404fd569517b7df458de0dbc32a2d9c3..fe2af27a24210ecc195c276df030dd03b957ac53 100644 (file)
@@ -256,9 +256,8 @@ static int set_locale(sd_bus *bus, char **args, unsigned n) {
                 return r;
 
         r = sd_bus_send_with_reply_and_block(bus, m, 0, &error, NULL);
                 return r;
 
         r = sd_bus_send_with_reply_and_block(bus, m, 0, &error, NULL);
-
         if (r < 0) {
         if (r < 0) {
-                log_error("Failed to issue method call: %s", strerror(-r));
+                log_error("Failed to issue method call: %s", bus_error_message(&error, -r));
                 return r;
         }
 
                 return r;
         }
 
@@ -460,6 +459,7 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) {
         _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
         _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
         const char *map, *toggle_map;
         _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
         _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
         const char *map, *toggle_map;
+        int r;
 
         assert(bus);
         assert(args);
 
         assert(bus);
         assert(args);
@@ -474,7 +474,8 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) {
         map = args[1];
         toggle_map = n > 2 ? args[2] : "";
 
         map = args[1];
         toggle_map = n > 2 ? args[2] : "";
 
-        return sd_bus_call_method(bus,
+        r = sd_bus_call_method(
+                        bus,
                         "org.freedesktop.locale1",
                         "/org/freedesktop/locale1",
                         "org.freedesktop.locale1",
                         "org.freedesktop.locale1",
                         "/org/freedesktop/locale1",
                         "org.freedesktop.locale1",
@@ -482,6 +483,10 @@ static int set_vconsole_keymap(sd_bus *bus, char **args, unsigned n) {
                         &error,
                         NULL,
                         "ssbb", map, toggle_map, arg_convert, arg_ask_password);
                         &error,
                         NULL,
                         "ssbb", map, toggle_map, arg_convert, arg_ask_password);
+        if (r < 0)
+                log_error("Failed to set keymap: %s", bus_error_message(&error, -r));
+
+        return r;
 }
 
 static Set *keymaps = NULL;
 }
 
 static Set *keymaps = NULL;
@@ -561,6 +566,7 @@ static int set_x11_keymap(sd_bus *bus, char **args, unsigned n) {
         _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
         _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
         const char *layout, *model, *variant, *options;
         _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
         _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
         const char *layout, *model, *variant, *options;
+        int r;
 
         assert(bus);
         assert(args);
 
         assert(bus);
         assert(args);
@@ -577,7 +583,8 @@ static int set_x11_keymap(sd_bus *bus, char **args, unsigned n) {
         variant = n > 3 ? args[3] : "";
         options = n > 4 ? args[4] : "";
 
         variant = n > 3 ? args[3] : "";
         options = n > 4 ? args[4] : "";
 
-        return sd_bus_call_method(bus,
+        r = sd_bus_call_method(
+                        bus,
                         "org.freedesktop.locale1",
                         "/org/freedesktop/locale1",
                         "org.freedesktop.locale1",
                         "org.freedesktop.locale1",
                         "/org/freedesktop/locale1",
                         "org.freedesktop.locale1",
@@ -586,6 +593,10 @@ static int set_x11_keymap(sd_bus *bus, char **args, unsigned n) {
                         NULL,
                         "ssssbb", layout, model, variant, options,
                                   arg_convert, arg_ask_password);
                         NULL,
                         "ssssbb", layout, model, variant, options,
                                   arg_convert, arg_ask_password);
+        if (r < 0)
+                log_error("Failed to set keymap: %s", bus_error_message(&error, -r));
+
+        return r;
 }
 
 static int list_x11_keymaps(sd_bus *bus, char **args, unsigned n) {
 }
 
 static int list_x11_keymaps(sd_bus *bus, char **args, unsigned n) {
@@ -701,7 +712,7 @@ static int help(void) {
                "     --no-pager            Do not pipe output into a pager\n"
                "     --no-ask-password     Do not prompt for password\n"
                "  -H --host=[USER@]HOST    Operate on remote host\n"
                "     --no-pager            Do not pipe output into a pager\n"
                "     --no-ask-password     Do not prompt for password\n"
                "  -H --host=[USER@]HOST    Operate on remote host\n"
-               "  -M --machine=CONTAINER Operate on local container\n\n"
+               "  -M --machine=CONTAINER   Operate on local container\n\n"
                "Commands:\n"
                "  status                   Show current locale settings\n"
                "  set-locale LOCALE...     Set system locale\n"
                "Commands:\n"
                "  status                   Show current locale settings\n"
                "  set-locale LOCALE...     Set system locale\n"
index 48a3b49755dfcd4261a666109cd74d9954c3f067..7054a02bcb1203bb19611b605b4cf5ae3a892b9f 100644 (file)
 #include "pager.h"
 #include "time-dst.h"
 
 #include "pager.h"
 #include "time-dst.h"
 
-static bool arg_adjust_system_clock = false;
 static bool arg_no_pager = false;
 static bool arg_no_pager = false;
-static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
 static bool arg_ask_password = true;
 static bool arg_ask_password = true;
+static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
 static char *arg_host = NULL;
 static char *arg_host = NULL;
+static bool arg_adjust_system_clock = false;
 
 static void pager_open_if_enabled(void) {
 
 
 static void pager_open_if_enabled(void) {