summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/locale/keymap-util.c2
-rw-r--r--src/locale/test-keymap-util.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
index fe29594ccc..17bef9e481 100644
--- a/src/locale/keymap-util.c
+++ b/src/locale/keymap-util.c
@@ -39,7 +39,7 @@ static bool startswith_comma(const char *s, const char *prefix) {
if (!s)
return false;
- return *s == ',';
+ return *s == ',' || *s == '\0';
}
static const char* strnulldash(const char *s) {
diff --git a/src/locale/test-keymap-util.c b/src/locale/test-keymap-util.c
index 8dde764a50..1e30fa4cb0 100644
--- a/src/locale/test-keymap-util.c
+++ b/src/locale/test-keymap-util.c
@@ -199,6 +199,14 @@ static void test_x11_convert_to_vconsole(void) {
assert_se(x11_convert_to_vconsole(&c) == 1);
assert_se(streq(c.vc_keymap, "ru"));
+
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1333998 */
+ log_info("/* test with a simple new mapping (ru:) */");
+ assert_se(free_and_strdup(&c.x11_layout, "ru") >= 0);
+ assert_se(free_and_strdup(&c.x11_variant, NULL) >= 0);
+
+ assert_se(x11_convert_to_vconsole(&c) == 0);
+ assert_se(streq(c.vc_keymap, "ru"));
}
int main(int argc, char **argv) {