Loading hmp-commands.hx +1 −0 Original line number Diff line number Diff line Loading @@ -1639,6 +1639,7 @@ ETEXI .params = "id", .help = "remove chardev", .mhandler.cmd = hmp_chardev_remove, .command_completion = chardev_remove_completion, }, STEXI Loading hmp.h +1 −0 Original line number Diff line number Diff line Loading @@ -98,5 +98,6 @@ void object_del_completion(ReadLineState *rs, int nb_args, const char *str); void device_add_completion(ReadLineState *rs, int nb_args, const char *str); void device_del_completion(ReadLineState *rs, int nb_args, const char *str); void sendkey_completion(ReadLineState *rs, int nb_args, const char *str); void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str); #endif monitor.c +23 −0 Original line number Diff line number Diff line Loading @@ -4339,6 +4339,29 @@ static void device_del_bus_completion(ReadLineState *rs, BusState *bus, } } void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str) { size_t len; ChardevInfoList *list, *start; if (nb_args != 2) { return; } len = strlen(str); readline_set_completion_index(rs, len); start = list = qmp_query_chardev(NULL); while (list) { ChardevInfo *chr = list->value; if (!strncmp(chr->label, str, len)) { readline_add_completion(rs, chr->label); } list = list->next; } qapi_free_ChardevInfoList(start); } void device_del_completion(ReadLineState *rs, int nb_args, const char *str) { size_t len; Loading Loading
hmp-commands.hx +1 −0 Original line number Diff line number Diff line Loading @@ -1639,6 +1639,7 @@ ETEXI .params = "id", .help = "remove chardev", .mhandler.cmd = hmp_chardev_remove, .command_completion = chardev_remove_completion, }, STEXI Loading
hmp.h +1 −0 Original line number Diff line number Diff line Loading @@ -98,5 +98,6 @@ void object_del_completion(ReadLineState *rs, int nb_args, const char *str); void device_add_completion(ReadLineState *rs, int nb_args, const char *str); void device_del_completion(ReadLineState *rs, int nb_args, const char *str); void sendkey_completion(ReadLineState *rs, int nb_args, const char *str); void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str); #endif
monitor.c +23 −0 Original line number Diff line number Diff line Loading @@ -4339,6 +4339,29 @@ static void device_del_bus_completion(ReadLineState *rs, BusState *bus, } } void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str) { size_t len; ChardevInfoList *list, *start; if (nb_args != 2) { return; } len = strlen(str); readline_set_completion_index(rs, len); start = list = qmp_query_chardev(NULL); while (list) { ChardevInfo *chr = list->value; if (!strncmp(chr->label, str, len)) { readline_add_completion(rs, chr->label); } list = list->next; } qapi_free_ChardevInfoList(start); } void device_del_completion(ReadLineState *rs, int nb_args, const char *str) { size_t len; Loading