First of all I want to appologize for forgetting to put a subject on my
first mail :)
On Thu, 3 Oct 1996, Niese-Petersen wrote:
[SNIP]
>
> /* A little quicky */
>
> int test(char *keywords, char *testwords) {
> int ok = TRUE;
> char lookword[256];
>
> keywords = one_argument(keywords, lookword);
>
> while(ok && *lookword)
> if(isname(lookword, testwords))
> keywords = one_argument(keywords, lookword);
> else
> ok = FALSE;
>
> return(ok);
> }
>
>
> Now.. Before anyone come and say "why not just use str_cmp ??", then
> remember, its possible that keywords are "long sword" and testwords are
> "sword long" :)
I renamed the isname function to is_name, took the function above and
renamed it isname (and remebered to change the call to isname() in the
new isname to is_name to prevent recursion, could anyone follow that? :)
and it still didn't work! My test commands was "vnum o long sword" and
"vnum o sword long".
_BUT_! And this is a bit but! :) After putting in some printf calls, I
noticed that the vnum_object function only got the first word of the
object to search for.
So I changed this line in do_vnum:
two_arguments(argument, buf, buf2);
to:
char *buf2;
buf2 = one_argument(argument, buf);
and then it worked!
So now its time to go through all the code, looking for places to switch
from two_arguments() to one_argument().
Gosh, who knew it could be that simple! :)
Thanks for getting me on track!
/ Joachim
---------------------------------------------------------------------
The Arrow Moses@PTMUD sargasso.fukt.hk-r.se 4000
Joachim Pileborg Email: pt94jpi@student.hk-r.se
Svarvarevägen 5
37230 Ronneby http://www.rby.hk-r.se/~pt94jpi/pt94jpi.html
SWEDEN
---------------------------------------------------------------------
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST