aboutsummaryrefslogtreecommitdiffstats
path: root/com32/elflink/ldlinux/readconfig.c
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@linux.intel.com>2011-03-29 13:06:16 +0100
committerMatt Fleming <matt.fleming@linux.intel.com>2011-03-29 14:27:02 +0100
commitf8d263e69d65c4257a49bc1a70428e89d492e361 (patch)
tree7d9c07f73b1c22ec622cc163cef4d07fc2d34195 /com32/elflink/ldlinux/readconfig.c
parent8c576f1fe03e34879921311f46613a35c6530000 (diff)
downloadsyslinux-f8d263e69d65c4257a49bc1a70428e89d492e361.tar.gz
syslinux-f8d263e69d65c4257a49bc1a70428e89d492e361.tar.xz
syslinux-f8d263e69d65c4257a49bc1a70428e89d492e361.zip
elflink, cli: TAB key now displays labels
Now, if the user hits the TAB key at a prompt a list of all labels to complete the current label typed on the command-line is printed. If nothing is typed at the command-line all labels are printed. This feature is available in the asm command-line interface so lets make it available in the C version. Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
Diffstat (limited to 'com32/elflink/ldlinux/readconfig.c')
-rw-r--r--com32/elflink/ldlinux/readconfig.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/com32/elflink/ldlinux/readconfig.c b/com32/elflink/ldlinux/readconfig.c
index e13d6d47..a29c6c60 100644
--- a/com32/elflink/ldlinux/readconfig.c
+++ b/com32/elflink/ldlinux/readconfig.c
@@ -420,6 +420,17 @@ static struct menu *end_submenu(void)
return current_menu->parent ? current_menu->parent : current_menu;
}
+void print_labels(const char *prefix, size_t len)
+{
+ struct menu_entry *me;
+
+ printf("\n");
+ for (me = all_entries; me; me = me->next ) {
+ if (!strncmp(prefix, me->label, len))
+ printf(" %s\n", me->label);
+ }
+}
+
static struct menu_entry *find_label(const char *str)
{
const char *p;