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)
committerChristian Lamparter <chunkeey@googlemail.com>
Sat, 23 Nov 2013 10:56:11 +0000 (11:56 +0100)
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>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
config/menu.c

index 9e69f1934836e17c85025387d4073746005012a8..db1512ae30cc48d6f2ea87bc26a082a084551811 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) {