kconfig: fix bug in search results string: use strlen(gstr->s), not gstr->len
authorMartin Walch <walch.martin@web.de>
Thu, 3 Oct 2013 16:35:16 +0000 (18:35 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Tue, 8 Oct 2013 21:52:16 +0000 (23:52 +0200)
The struct gstr has a capacity that may differ from the actual string length.

However, a string manipulation in the function search_conf made the assumption
that it is the same, which led to messing up some search results, especially
when the content of the gstr in use had not yet reached at least 63 chars.

Signed-off-by: Martin Walch <walch.martin@web.de>
Acked-by: Wang YanQing <udknight@gmail.com>
Acked-by: Benjamin Poirier <bpoirier@suse.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
scripts/kconfig/menu.c

index 9e69f19..db1512a 100644 (file)
@@ -584,7 +584,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
                for (j = 4; --i >= 0; j += 2) {
                        menu = submenu[i];
                        if (head && location && menu == location)
-                               jump->offset = r->len - 1;
+                               jump->offset = strlen(r->s);
                        str_printf(r, "%*c-> %s", j, ' ',
                                   _(menu_get_prompt(menu)));
                        if (menu->sym) {