]> de.git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
-printdefs for qcvm
authorWolfgang (Blub) Bumiller <blub@speed.at>
Wed, 22 Aug 2012 12:15:35 +0000 (14:15 +0200)
committerWolfgang (Blub) Bumiller <blub@speed.at>
Wed, 22 Aug 2012 12:15:35 +0000 (14:15 +0200)
exec.c

diff --git a/exec.c b/exec.c
index 7e9c941b0476bccb34c3a7525a7740117b44d609..3f655bb7384292cd13dfc8a1302606ef771843e7 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -703,6 +703,7 @@ int main(int argc, char **argv)
     qc_program *prog;
     size_t      xflags = VMXF_DEFAULT;
     bool        opts_printfields = false;
+    bool        opts_printdefs   = false;
     bool        opts_info  = false;
 
     arg0 = argv[0];
@@ -726,6 +727,11 @@ int main(int argc, char **argv)
             ++argv;
             opts_info = true;
         }
+        else if (!strcmp(argv[1], "-printdefs")) {
+            --argc;
+            ++argv;
+            opts_printdefs = true;
+        }
         else if (!strcmp(argv[1], "-printfields")) {
             --argc;
             ++argv;
@@ -759,7 +765,15 @@ int main(int argc, char **argv)
         prog_delete(prog);
         return 0;
     }
-    if (opts_printfields) {
+    if (opts_printdefs) {
+        for (i = 0; i < prog->defs_count; ++i) {
+            printf("Global: %8s %-16s at %u\n",
+                   type_name[prog->defs[i].type],
+                   prog_getstring(prog, prog->defs[i].name),
+                   (unsigned int)prog->defs[i].offset);
+        }
+    }
+    else if (opts_printfields) {
         for (i = 0; i < prog->fields_count; ++i) {
             printf("Field: %8s %-16s at %u\n",
                    type_name[prog->fields[i].type],