Eliminate some uses of wd2 - tests can be done on raw2 buffer instead.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 20 Jul 2017 11:09:20 +0000 (07:09 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 20 Jul 2017 11:09:20 +0000 (07:09 -0400)
actions.c
main.c

index df6bc2e3c215cb00338f7f8a54cdc9cd5990e47c..83177d4ad666cdec551f77021c5792811bda8098 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -1145,7 +1145,7 @@ static int rub(verb_t verb, obj_t obj)
 static int say(struct command_t *command)
 /* Say.  Echo WD2 (or WD1 if no WD2 (SAY WHAT?, etc.).)  Magic words override. */
 {
-    if (command->wd2 > 0) {
+    if (command->raw2 != '\0') {
         command->wd1 = command->wd2;
         strncpy(command->raw1, command->raw2, LINESIZE - 1);
     }
@@ -1360,7 +1360,7 @@ int action(struct command_t *command)
 
     switch (command->part) {
     case intransitive:
-        if (command->wd2 > 0 && command->verb != SAY)
+        if (command->raw2[0] != '\0' && command->verb != SAY)
             return GO_WORD2;
         if (command->verb == SAY)
             command->obj = command->wd2;
diff --git a/main.c b/main.c
index 7f03ab2a391611784b417d16b53f0c6edf31270c..748a18eee24a8d41db938915b6c38436a1db12fc 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1214,7 +1214,6 @@ Lookup:
             command.id2 = WORD_EMPTY;
             command.type2 = NO_WORD_TYPE;
             command.raw2[0] = '\0';
-            wordclear(&command.wd2);
             goto Lookup;
         case GO_UNKNOWN:
             /*  Random intransitive verbs come here.  Clear obj just in case