diff --git a/lib/std/living/status.c b/lib/std/living/status.c index ffbca451..03e1d326 100644 --- a/lib/std/living/status.c +++ b/lib/std/living/status.c @@ -36,11 +36,7 @@ int query_immobile () { } void set_posture (string p) { - if ( - !stringp(p) && - !sizeof(p) && - member_array(p, ({ "flying", "laying", "meditating", "sitting", "standing" })) == -1 - ) { + if (member_array(p, ({ "flying", "laying", "meditating", "sitting", "standing" })) == -1) { error("Bad argument 1 to status->set_posture"); } __Posture = p; diff --git a/lib/std/living/status.test.c b/lib/std/living/status.test.c index 00260686..8f93567d 100644 --- a/lib/std/living/status.test.c +++ b/lib/std/living/status.test.c @@ -82,6 +82,8 @@ void test_posture () { assert_equal(testOb->query_posture(), "laying"), testOb->set_posture("standing"), assert_equal(testOb->query_posture(), "standing"), + + assert_catch((: testOb->set_posture("unknown") :), "*Bad argument 1 to status->set_posture\n"), }) :)); // @TODO