merge
[dcpu16] / vm-dcpu16.c
index cc06b111b0eb3630da346967996e0a6bf2f2479e..e46f27bc55524e696cd723170377b9d0587f1fac 100644 (file)
@@ -309,6 +309,7 @@ COMMAND_IMPL(reset) {
 
     dcpu16_reset(vm);
     printf("initialized\n");
+
     return 0;
 }
 COMMAND_HELP(reset) {
@@ -319,6 +320,27 @@ COMMAND_HELP(reset) {
 }
 
 
+COMMAND_IMPL(verbosity) {
+    int l;
+    (void)vm, (void)arg_count;
+
+    l = str_to_word(arg_vector[1]);
+    if (l < 0) {
+        fprintf(stderr, "invalid level\n");
+        return 0;
+    }
+
+    opt_.verbose = l;
+
+    return 0;
+}
+COMMAND_HELP(verbosity) {
+    fprintf(f, "\tverbosity level\n");
+    if (summary) return;
+
+    fprintf(f, "sets the verbosity level\n");
+}
+
 COMMAND_IMPL(load) {
     int addr = 0;
 
@@ -737,6 +759,7 @@ COMMAND_HELP(help);
 static struct command_ command_table_[] = {
     COMMAND_ENTRY(help, 0, -1),
     COMMAND_ENTRY(quit, 0, -1),
+    COMMAND_ENTRY(verbosity, 1, 1),
     COMMAND_ENTRY(load, 1, 2),
     COMMAND_ENTRY(dump, 0, 2),
     COMMAND_ENTRY(disassemble, 0, 2),
@@ -780,7 +803,7 @@ COMMAND_HELP(help) {
 static
 void msg_verbose_filter_(unsigned int level, char *fmt, ...) {
     static const char * const levels[] = { "error", "info", "debug" };
-    FILE *f = (level <= MSG_ERROR) ? stderr : stdout;
+    FILE *f = (level <= DCPU16_MSG_ERROR) ? stderr : stdout;
     va_list ap;
 
     if (level + 2 > opt_.verbose)