> > why is buf[] declared in so many places to be rather small in the
> .c files
> > when it is declared in structs.h and db.h to be size
> > MAX_STRING_LENGTH?
> > this seems a little odd to me.
> Well, because the circle code is a mess
Well, that's certainly a subjective thing...
> and the compiler
> and linker don't care.
>
> If you declare buf[32] it will replace (override)
> the global buf variable by a local of size 32Bytes until
> the function is left.
There is an excellent reason for declaring local buf's. Consider the
following piece of code:
ACMD(my_command)
{
sprintf(buf, "Hello");
do_some_other_processing();
strcat(buf, "\r\n");
send_to_char(buf, ch);
}
What if do_my_own_processing uses buf[], too? Chaos.
Functions that get called from other functions often have their own local
bufs to avoid such problems.
-Jeremy
This archive was generated by hypermail 2b30 : 12/07/00 PST