monitor fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1110 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/monitor.c b/monitor.c
index 27e2619..de47684 100644
--- a/monitor.c
+++ b/monitor.c
@@ -101,6 +101,15 @@
va_end(ap);
}
+static int monitor_fprintf(FILE *stream, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ term_vprintf(fmt, ap);
+ va_end(ap);
+ return 0;
+}
+
static int compare_cmd(const char *name, const char *list)
{
const char *p, *pstart;
@@ -206,9 +215,11 @@
static void do_info_registers(void)
{
#ifdef TARGET_I386
- cpu_dump_state(cpu_single_env, stdout, X86_DUMP_FPU | X86_DUMP_CCOP);
+ cpu_dump_state(cpu_single_env, stdout, monitor_fprintf,
+ X86_DUMP_FPU | X86_DUMP_CCOP);
#else
- cpu_dump_state(cpu_single_env, stdout, 0);
+ cpu_dump_state(cpu_single_env, stdout, monitor_fprintf,
+ 0);
#endif
}
@@ -1852,6 +1863,15 @@
completion_index = strlen(str);
bdrv_iterate(block_completion_it, (void *)str);
break;
+ case 's':
+ /* XXX: more generic ? */
+ if (!strcmp(cmd->name, "info")) {
+ completion_index = strlen(str);
+ for(cmd = info_cmds; cmd->name != NULL; cmd++) {
+ cmd_completion(str, cmd->name);
+ }
+ }
+ break;
default:
break;
}