On Fri, 19 Sep 1997, Cris Jacobin wrote:
> if (itm_name=="brown") {
>
> Why the individual conditional statements never evaluate to true, I
> can't figure out for the life of me. It invariably falls down and executes
> the else/default chunk, displaying, 'there is no such item.'
A good clue would be to get a C book and brush up on the peculiarities of
C syntax.
A better clue would be that neither itm_name nor "brown" are what you
would consider strings. Sure, they look like strings, but a C compiler
treats both as character pointers (char *). itm_name is a pointer to the
array of characters copied from the player's command argument. "brown" is
treated as a pointer to the static string "brown". Even though the data
may be equal, the pointers aren't, so it evaluates false.
Another really good clue would be to take a peek at one of the many
existing spec_procs in circle to see how you can fix it.
Sam
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST