Remove extra argument of lk_add_map
authorAlexey Gladkov <gladkov.alexey@gmail.com>
Thu, 11 Apr 2013 13:11:46 +0000 (17:11 +0400)
committerAlexey Gladkov <gladkov.alexey@gmail.com>
Thu, 11 Apr 2013 13:11:46 +0000 (17:11 +0400)
Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
src/libkeymap/keymap/kmap.h
src/libkeymap/kmap.c
src/libkeymap/parser.y
tests/libkeymap-kmap.c

index 28be01d..9033275 100644 (file)
@@ -4,7 +4,7 @@
 #include <keymap/data.h>
 #include <keymap/findfile.h>
 
-int lk_add_map(struct keymap *kmap, int i, int explicit);
+int lk_add_map(struct keymap *kmap, int i);
 
 int lk_add_key(struct keymap *kmap, int k_index, int k_table, int keycode);
 int lk_remove_key(struct keymap *kmap, int k_index, int k_table);
index 5e6aa0e..5cf7487 100644 (file)
 #include "modifiers.h"
 
 int
-lk_add_map(struct keymap *kmap, int i, int explicit)
+lk_add_map(struct keymap *kmap, int i)
 {
        if (i < 0 || i >= MAX_NR_KEYMAPS) {
                ERR(kmap, _("lk_add_map called with bad index %d"), i);
                return -1;
        }
 
-       if (!kmap->defining[i]) {
-               if (kmap->keymaps_line_seen && !explicit) {
-                       ERR(kmap, _("adding map %d violates explicit keymaps line"), i);
-                       return -1;
-               }
+       if (kmap->defining[i])
+               return 0;
+
+       kmap->defining[i] = i + 1;
+
+       if (kmap->max_keymap <= i)
+               kmap->max_keymap = i + 1;
 
-               kmap->defining[i] = i+1;
-               if (kmap->max_keymap <= i)
-                       kmap->max_keymap = i + 1;
-       }
        return 0;
 }
 
@@ -99,7 +97,13 @@ lk_add_key(struct keymap *kmap, int k_index, int k_table, int keycode)
                return 0;
 
        if (!kmap->defining[k_table]) {
-               if (lk_add_map(kmap, k_table, 0) == -1)
+               if (kmap->keymaps_line_seen) {
+                       ERR(kmap, _("adding map %d violates explicit keymaps line"),
+                           k_table);
+                       return -1;
+               }
+
+               if (lk_add_map(kmap, k_table) == -1)
                        return -1;
        }
 
index fbeab1e..53f989a 100644 (file)
@@ -234,13 +234,13 @@ range0            : NUMBER DASH NUMBER
                        {
                                int i;
                                for (i = $1; i <= $3; i++) {
-                                       if (lk_add_map(kmap, i, 1) == -1)
+                                       if (lk_add_map(kmap, i) == -1)
                                                YYERROR;
                                }
                        }
                | NUMBER
                        {
-                               if (lk_add_map(kmap, $1, 1) == -1)
+                               if (lk_add_map(kmap, $1) == -1)
                                        YYERROR;
                        }
                ;
index 1611e70..e8e8f23 100644 (file)
@@ -11,16 +11,16 @@ START_TEST(test_add_map_border)
        lk_init(&kmap);
        kmap.log_fn = NULL;
 
-       fail_if(lk_add_map(&kmap, -1, 0) == 0,
+       fail_if(lk_add_map(&kmap, -1) == 0,
                "Possible to define the map with index -1");
 
-       fail_if(lk_add_map(&kmap, MAX_NR_KEYMAPS, 0) == 0,
+       fail_if(lk_add_map(&kmap, MAX_NR_KEYMAPS) == 0,
                "Possible to define the map with index -1");
 
-       fail_unless(lk_add_map(&kmap, 0, 0) == 0,
+       fail_unless(lk_add_map(&kmap, 0) == 0,
                "Unable to define map");
 
-       fail_unless(lk_add_map(&kmap, 0, 0) == 0,
+       fail_unless(lk_add_map(&kmap, 0) == 0,
                "Unable to define map");
 
        lk_free(&kmap);
@@ -29,45 +29,21 @@ END_TEST
 
 START_TEST(test_add_map_0)
 {
-       int explicit;
        struct keymap kmap;
 
        lk_init(&kmap);
        kmap.log_fn = NULL;
-       kmap.keymaps_line_seen = 1;
 
-       explicit = 0;
-       fail_if(lk_add_map(&kmap, 0, explicit) == 0,
-               "Possible to define map (keymaps_line_seen=%d, explicit=%d)",
-                       kmap.keymaps_line_seen, explicit);
-
-       explicit = 1;
-       fail_unless(lk_add_map(&kmap, 1, explicit) == 0,
-               "Possible to define map (keymaps_line_seen=%d, explicit=%d)",
-                       kmap.keymaps_line_seen, explicit);
-
-       lk_free(&kmap);
-}
-END_TEST
-
-START_TEST(test_add_map_1)
-{
-       int explicit = 0;
-       struct keymap kmap;
-
-       lk_init(&kmap);
-       kmap.log_fn = NULL;
-
-       fail_if(lk_add_map(&kmap, 0, explicit) != 0, "Unable to define map");
+       fail_if(lk_add_map(&kmap, 0) != 0, "Unable to define map");
        fail_if(kmap.max_keymap != 1, "Wrong max_keymap number");
 
-       fail_if(lk_add_map(&kmap, 0, explicit) != 0, "Unable to define map");
+       fail_if(lk_add_map(&kmap, 0) != 0, "Unable to define map");
        fail_if(kmap.max_keymap != 1, "Wrong max_keymap number");
                
-       fail_if(lk_add_map(&kmap, 1, explicit) != 0, "Unable to define map");
+       fail_if(lk_add_map(&kmap, 1) != 0, "Unable to define map");
        fail_if(kmap.max_keymap != 2, "Wrong max_keymap number");
 
-       fail_if(lk_add_map(&kmap, 2, explicit) != 0, "Unable to define map");
+       fail_if(lk_add_map(&kmap, 2) != 0, "Unable to define map");
        fail_if(kmap.max_keymap != 3, "Wrong max_keymap number");
 
        lk_free(&kmap);
@@ -82,7 +58,6 @@ libkeymap_suite(void)
 
        tcase_add_test(tc_core, test_add_map_border);
        tcase_add_test(tc_core, test_add_map_0);
-       tcase_add_test(tc_core, test_add_map_1);
 
        suite_add_tcase(s, tc_core);
        return s;