#include "set.h"
#include "path-util.h"
#include "utf8.h"
+#include "def.h"
static bool arg_no_pager = false;
static bool arg_ask_password = true;
"/org/freedesktop/locale1",
map,
&info);
- if (r < 0)
+ if (r < 0) {
+ log_error("Could not get properties: %s", strerror(-r));
goto fail;
+ }
print_status_info(&info);
static int set_locale(sd_bus *bus, char **args, unsigned n) {
_cleanup_bus_message_unref_ sd_bus_message *m = NULL;
- _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
int r;
polkit_agent_open_if_enabled();
- r = sd_bus_message_new_method_call(bus,
+ r = sd_bus_message_new_method_call(
+ bus,
+ &m,
"org.freedesktop.locale1",
"/org/freedesktop/locale1",
"org.freedesktop.locale1",
- "SetLocale", &m);
+ "SetLocale");
if (r < 0)
return bus_log_create_error(r);
}
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;
int r;
!endswith(fpath, ".map.gz"))
return 0;
- p = strdup(path_get_file_name(fpath));
+ p = strdup(basename(fpath));
if (!p)
return log_oom();
static int list_vconsole_keymaps(sd_bus *bus, char **args, unsigned n) {
_cleanup_strv_free_ char **l = NULL;
+ const char *dir;
keymaps = set_new(string_hash_func, string_compare_func);
if (!keymaps)
return log_oom();
- nftw("/usr/share/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS);
- nftw("/usr/share/kbd/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS);
- nftw("/usr/lib/kbd/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS);
- nftw("/lib/kbd/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS);
+ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS)
+ nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS);
l = set_get_strv(keymaps);
if (!l) {
}
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;
int r;