From 1307b441cd2cdc94bdde1999d48aefb55d91e082 Mon Sep 17 00:00:00 2001 From: FlavioJS Date: Thu, 27 Dec 2007 03:35:57 +0000 Subject: * Tweeked the declaration and initialization defines for vectors. * Made do_sockets leave the for loop as soon as the readable number of sockets returned by select is found. * Made all posix compliant systems that support it and FreeBSD >= 5.1 (implements it but doesn't have the posix defines) use the precise and consistent tick() implementation. * Minor tweek to HEAP_SEARCH (same variable can be used in from and to). * Fixed the map server not exiting when make_listen_bind fails and returns -1. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11983 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/common/db.h | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'src/common/db.h') diff --git a/src/common/db.h b/src/common/db.h index 30948b0cb..cf9e4e82e 100644 --- a/src/common/db.h +++ b/src/common/db.h @@ -854,11 +854,23 @@ void linkdb_final ( struct linkdb_node** head ); +/// Declares an anonymous vector struct. +/// +/// @param __type Type of data +#define VECTOR_DECL(__type) \ + struct { \ + size_t _max_; \ + size_t _len_; \ + __type* _data_; \ + } + + + /// Declares a named vector struct. /// /// @param __name Structure name /// @param __type Type of data -#define VECTOR_STRUCT(__name,__type) \ +#define VECTOR_STRUCT_DECL(__name,__type) \ struct __name { \ size_t _max_; \ size_t _len_; \ @@ -867,7 +879,16 @@ void linkdb_final ( struct linkdb_node** head ); -/// Declares a named vector struct variable. +/// Declares and initializes an anonymous vector variable. +/// +/// @param __type Type of data +/// @param __var Variable name +#define VECTOR_VAR(__type,__var) \ + VECTOR_DECL(__type) __var = {0,0,NULL} + + + +/// Declares and initializes a named vector variable. /// /// @param __name Structure name /// @param __var Variable name @@ -876,16 +897,11 @@ void linkdb_final ( struct linkdb_node** head ); -/// Declares a vector variable with an anonymous struct. +/// Initializes a vector. /// -/// @param __type Type of data -/// @param __var Variable name -#define VECTOR_VAR(__type,__var) \ - struct { \ - size_t _max_; \ - size_t _len_; \ - __type* _data_; \ - } __var = {0,0,NULL} +/// @param __vec Vector +#define VECTOR_INIT(__vec) \ + memset(&(__vec), 0, sizeof(__vec)) -- cgit v1.2.3-60-g2f50