Re: buf[]

From: Jeremy Elson (
Date: 09/13/95

> > 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
> > 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:

  sprintf(buf, "Hello");
  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.


This archive was generated by hypermail 2b30 : 12/07/00 PST