[or-cvs] Stupid sizeof operator!
ben at algroup.co.uk
Thu Apr 8 08:49:47 UTC 2004
Roger Dingledine wrote:
> On Thu, Apr 08, 2004 at 07:41:47AM +0100, Ben Laurie wrote:
>>>Stupid sizeof operator!
>>>- tmp_cpath = tor_malloc_zero(sizeof(tmp_cpath));
>>>+ tmp_cpath = tor_malloc_zero(sizeof(crypt_path_t));
>>Errr ... stupid coder, you mean? You wanted:
>>tmp_cpath = tor_malloc_zero(sizeof *tmp_cpath);
> No, I think sizeof(crypt_path_t) is a fine way to do it. It makes it
> clearer to me that we're talking about the size of the struct, not the
> size of a pointer or something.
> I guess it could be a bother if tmp_cpath changes types, but I don't
> think that's much of a problem.
You can do it either way, my point was that the sizeof operator was not
at fault. I prefer the idiom "x=malloc(sizeof *x)" because you never
have to check what x points to. Indeed some people define a NEW macro
#define NEW(x) (x)=malloc(sizeof *(x))
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff
More information about the tor-dev