diff options
| author | jsm <jsm@NetBSD.org> | 2000-09-22 08:19:21 +0000 |
|---|---|---|
| committer | jsm <jsm@NetBSD.org> | 2000-09-22 08:19:21 +0000 |
| commit | 3131fb8024bb02e60d0b28942d59bb92d515cdae (patch) | |
| tree | a922191fe35305d84ecab858e1226d50760d34a7 /battlestar/com4.c | |
| parent | 283621ee3b4a30d66d08567b6507c0ba1580dbf1 (diff) | |
| download | bsdgames-darwin-3131fb8024bb02e60d0b28942d59bb92d515cdae.tar.gz bsdgames-darwin-3131fb8024bb02e60d0b28942d59bb92d515cdae.zip | |
Remove all adjectives in parse(), since they are nowhere used. Fixes
crash on "carry old all" shown up by fuzz testing. Patch from Paul
Janzen <pjanzen@foatdi.harvard.edu>.
Diffstat (limited to 'battlestar/com4.c')
| -rw-r--r-- | battlestar/com4.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/battlestar/com4.c b/battlestar/com4.c index d1be836d..1f37eae3 100644 --- a/battlestar/com4.c +++ b/battlestar/com4.c @@ -1,4 +1,4 @@ -/* $NetBSD: com4.c,v 1.10 2000/09/17 23:04:17 jsm Exp $ */ +/* $NetBSD: com4.c,v 1.11 2000/09/22 08:19:21 jsm Exp $ */ /* * Copyright (c) 1983, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)com4.c 8.2 (Berkeley) 4/28/95"; #else -__RCSID("$NetBSD: com4.c,v 1.10 2000/09/17 23:04:17 jsm Exp $"); +__RCSID("$NetBSD: com4.c,v 1.11 2000/09/22 08:19:21 jsm Exp $"); #endif #endif /* not lint */ @@ -57,7 +57,7 @@ take(from) wordvalue[wordnumber] = TAKEOFF; return (cypher()); } else { - while (wordtype[++wordnumber] == ADJS); + wordnumber++; while (wordnumber <= wordcount && wordtype[wordnumber] == OBJECT) { value = wordvalue[wordnumber]; printf("%s:\n", objsht[value]); @@ -222,8 +222,7 @@ throw(name) deposit = location[position].down; break; } - wordnumber = first; - while (wordtype[++wordnumber] == ADJS); + wordnumber = first + 1; while (wordnumber <= wordcount) { value = wordvalue[wordnumber]; if (deposit && testbit(location[position].objects, value)) { @@ -275,7 +274,7 @@ drop(name) int firstnumber, value; firstnumber = wordnumber; - while (wordtype[++wordnumber] == ADJS); + wordnumber++; while (wordnumber <= wordcount && (wordtype[wordnumber] == OBJECT || wordtype[wordnumber] == NOUNS)) { value = wordvalue[wordnumber]; printf("%s:\n", objsht[value]); @@ -337,7 +336,7 @@ eat() int firstnumber, value; firstnumber = wordnumber; - while (wordtype[++wordnumber] == ADJS); + wordnumber++; while (wordnumber <= wordcount) { value = wordvalue[wordnumber]; switch (value) { |
