[dovecot-cvs]
dovecot/src/lib array-decl.h, NONE, 1.1 array.h, 1.12,
1.13 lib.h, 1.17, 1.18
cras at dovecot.org
cras at dovecot.org
Mon Jul 4 14:32:21 EEST 2005
Update of /var/lib/cvs/dovecot/src/lib
In directory talvi:/tmp/cvs-serv31785/lib
Modified Files:
array.h lib.h
Added Files:
array-decl.h
Log Message:
Moved array declaration to array-decl.h and include it in lib.h. So array.h
needs to be now included to use any array_*() functions.
--- NEW FILE: array-decl.h ---
#ifndef __ARRAY_DECL_H
#define __ARRAY_DECL_H
#if defined (DEBUG) && defined (__GNUC__)
# define ARRAY_TYPE_CHECKS
#endif
#ifdef ARRAY_TYPE_CHECKS
# define ARRAY_DEFINE(name, array_type) name; array_type *name ## __ ## type
# define ARRAY_DEFINE_EXTERN(name, array_type) \
name; extern array_type *name ## __ ## type
# define ARRAY_DEFINE_PTR(name, array_type) \
name; array_type **name ## __ ## type
# define ARRAY_INIT { 0, 0 }, 0
#else
# define ARRAY_DEFINE(name, array_type) name
# define ARRAY_DEFINE_EXTERN(name, array_type) name
# define ARRAY_DEFINE_PTR(name, array_type) name
# define ARRAY_INIT { 0, 0 }
#endif
struct array {
buffer_t *buffer;
size_t element_size;
};
#endif
Index: array.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib/array.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- array.h 28 Jun 2005 17:06:38 -0000 1.12
+++ array.h 4 Jul 2005 11:32:19 -0000 1.13
@@ -1,8 +1,6 @@
#ifndef __ARRAY_H
#define __ARRAY_H
-#include "buffer.h"
-
/* Array is a buffer accessible using fixed size elements. If DEBUG is
enabled, it also provides compile time type safety:
@@ -35,27 +33,17 @@
struct foo *foo = array_idx(bars, 0);
}
*/
-#if defined (DEBUG) && defined (__GNUC__)
-# define ARRAY_TYPE_CHECKS
-#endif
+#include "array-decl.h"
+#include "buffer.h"
#ifdef ARRAY_TYPE_CHECKS
-# define ARRAY_DEFINE(name, array_type) name; array_type *name ## __ ## type
-# define ARRAY_DEFINE_EXTERN(name, array_type) \
- name; extern array_type *name ## __ ## type
-# define ARRAY_DEFINE_PTR(name, array_type) \
- name; array_type **name ## __ ## type
# define ARRAY_CREATE(array, pool, array_type, init_count) STMT_START { \
array_type **_array_tmp = array ## __ ## type; _array_tmp = NULL; \
array_create(array, pool, sizeof(array_type), init_count); \
} STMT_END
# define ARRAY_SET_TYPE(array, array_type) \
array_type **array ## __ ## type = NULL
-# define ARRAY_INIT { 0, 0 }, 0
#else
-# define ARRAY_DEFINE(name, array_type) name
-# define ARRAY_DEFINE_EXTERN(name, array_type) name
-# define ARRAY_DEFINE_PTR(name, array_type) name
# define ARRAY_CREATE(array, pool, array_type, init_count) \
array_create(array, pool, sizeof(array_type), init_count)
/* The reason we do this for non-ARRAY_TYPE_CHECKS as well is because if we
@@ -67,14 +55,8 @@
unused-attribute to get rid of that with gcc. */
# define ARRAY_SET_TYPE(array, array_type) \
array_type **array ## __ ## type __attr_unused__ = NULL
-# define ARRAY_INIT { 0, 0 }
#endif
-struct array {
- buffer_t *buffer;
- size_t element_size;
-};
-
static inline void
array_create_from_buffer(array_t *array, buffer_t *buffer, size_t element_size)
{
Index: lib.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib/lib.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- lib.h 12 Mar 2005 18:15:48 -0000 1.17
+++ lib.h 4 Jul 2005 11:32:19 -0000 1.18
@@ -35,7 +35,7 @@
struct istream;
struct ostream;
-#include "array.h" /* ARRAY_DEFINE()s may exist in any header */
+#include "array-decl.h" /* ARRAY_DEFINE()s may exist in any header */
#include "strfuncs.h"
extern unsigned char null4[4]; /* 4 zeros - useful for padding */
More information about the dovecot-cvs
mailing list