vmware-detect.c: logic fixes
authorMichael Gebetsroither <michael.geb@gmx.at>
Fri, 9 Mar 2007 17:12:11 +0000 (18:12 +0100)
committerMichael Gebetsroither <michael.geb@gmx.at>
Fri, 9 Mar 2007 17:12:11 +0000 (18:12 +0100)
compile/vmware-detect.c

index 4914c8e..8ee1a7c 100644 (file)
@@ -76,25 +76,28 @@ int checkVmware(const int debug)
         printIdtr(idtr, 10);
     return (0xff==idtr[9]) ? 1 : 0;
 }
+int checkVmwareIO() { return 0; }
 #else
 // vmware runs only on the archs above
 int checkVmware(const int) { return 0; }
+int checkVmwareIO() { return 0; }
 #endif
 
+// returns 0 if running inside vmware, 1 otherwise
 int main(int argc, char* argv[]) {
     int debug = FALSE;
     if(argc == 2 && !strcmp(argv[1], "--debug"))
         debug = TRUE;
 
-    // returns 0 if running inside vmware, 1 otherwise
     int a, b;
+    // known to be false positives
     a = checkVmware(debug);
     DWRITE("idt-check: ")
-    if(a) {
-        DWRITE("true\n");
-        return 0;
+    if(!a) {
+        DWRITE("false\n");
+        return 1;
     }
-    DWRITE("false\n");
+    DWRITE("true\n");
 
     // never returns if not running under vmware
     void dummy() { DWRITE("false\n"); exit(1); }
@@ -105,6 +108,7 @@ int main(int argc, char* argv[]) {
         DWRITE("true\n");
         return 0;
     }
+    // never reached
     return 1;
 }
 // vim: foldmethod=marker