Back up to 100% coverage.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index a42fe3e235682752dd6db009298dadb94635c2d2..efaeedc22a0a58c2ec09342394281dd62d823bdc 100644 (file)
--- a/main.c
+++ b/main.c
@@ -133,27 +133,6 @@ int main(int argc, char *argv[])
     terminate(quitgame);
 }
 
-static bool fallback_handler(struct command_t command)
-/* fallback handler for commands not handled by FORTRANish parser */
-{
-    long sv;
-    char buf[DIM(command.raw1) + DIM(command.raw2) + 1];
-    sprintf(buf, "%s %s", command.raw1, command.raw2);
-
-    if (sscanf(buf, "seed %ld", &sv) == 1) {
-        set_seed(sv);
-        printf("Seed set to %ld\n", sv);
-        // autogenerated, so don't charge user time for it.
-        --game.turns;
-        return true;
-    } else if (sscanf(buf, "waste %ld", &sv) == 1) {
-        game.limit -= sv;
-        printf("Game limit is now %ld\n", game.limit);
-        return true;
-    }
-    return false;
-}
-
 /*  Check if this loc is eligible for any hints.  If been here long
  *  enough, display.  Ignore "HINTS" < 4 (special stuff, see database
  *  notes). */
@@ -670,7 +649,7 @@ static void playermove( int motion)
 
                 /* We arrive here on conditional failure.
                  * Skip to next non-matching destination */
-                long te_tmp = travel_entry;
+                int te_tmp = travel_entry;
                 do {
                     if (travel[te_tmp].stop)
                         BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
@@ -1135,8 +1114,6 @@ Lookup:
                 rspeak(GO_UNNEEDED);
         }
         if (command.id1 == WORD_NOT_FOUND) {
-            if (fallback_handler(command))
-                continue;
             /* Gee, I don't understand. */
             sspeak(DONT_KNOW, command.raw1);
             goto Lclearobj;
@@ -1151,12 +1128,13 @@ Lookup:
             command.obj = command.id1;
             break;
         case ACTION:
-            command.part = intransitive;
+            if(command.type2 == NUMERIC) 
+                command.part = transitive;
+            else
+                command.part = intransitive;
             command.verb = command.id1;
             break;
-        case SPECIAL:
-            speak(specials[command.id1].message);
-            goto Lclearobj;
+        case NUMERIC:
         default: // LCOV_EXCL_LINE
             BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
         }