#define yahoo_put32(buf, data) ( \
(*((buf)) = (unsigned char)((data)>>24)&0xff), \
(*((buf)+1) = (unsigned char)((data)>>16)&0xff), \
(*((buf)+2) = (unsigned char)((data)>>8)&0xff), \
(*((buf)+3) = (unsigned char)(data)&0xff), \
4)
#define yahoo_get32(buf) ((((*(buf) )&0xff)<<24) + \
(((*((buf)+1))&0xff)<<16) + \
(((*((buf)+2))&0xff)<< 8) + \
(((*((buf)+3))&0xff)))
why is there a 4 at last on the yahoo_put32?