From c021867feea2a7a1bc29ec89d7625754220f0431 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 30 Aug 1998 04:30:57 +0000 Subject: changed the size of a char array in the userdata_struct from 1 to 16 to account for padding/alignment issues. Eventually I'd like to find a way to get rid of this construct altogether as it is a bit error prone and hard to debug. also added a new macro: ZERO_STRUCTP() that takes a pointer to a structure and zeros the structure. Used in nmbd to zero allocated structures before freeing them to try to catch bugs a bit faster. (This used to be commit d3dda65d5177154e2128f50ca3dd34e8e13b6b08) --- source3/include/smb.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source3/include/smb.h') diff --git a/source3/include/smb.h b/source3/include/smb.h index b615d09708..90435b208e 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -1569,8 +1569,17 @@ extern int unix_ERR_code; #define CMD_REPLY 0x8000 /* useful macros */ + +/* zero a structure */ #define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x)) + +/* zero a structure given a pointer to the structure */ +#define ZERO_STRUCTP(x) memset((char *)(x), 0, sizeof(*(x))) + +/* zero an array - note that sizeof(array) must work - ie. it must not be a + pointer */ #define ZERO_ARRAY(x) memset((char *)(x), 0, sizeof(x)) + #define SMB_ASSERT(b) ((b)?(void)0: \ (DEBUG(0,("PANIC: assert failed at %s(%d)\n", \ __FILE__, __LINE__)), smb_panic("assert failed"))) -- cgit