[asterisk-commits] russell: trunk r81449 - in /trunk: ./ channels/ include/asterisk/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Sep 4 13:40:07 CDT 2007


Author: russell
Date: Tue Sep  4 13:40:07 2007
New Revision: 81449

URL: http://svn.digium.com/view/asterisk?view=rev&rev=81449
Log:
Merged revisions 81448 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81448 | russell | 2007-09-04 13:37:44 -0500 (Tue, 04 Sep 2007) | 4 lines

Remove the typedefs on ao2_container and ao2_iterator.  This is simply because
we don't typedef objects anywhere else in Asterisk, so we might as well make
this follow the same convention.

........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_iax2.c
    trunk/include/asterisk/astobj2.h
    trunk/main/astobj2.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_iax2.c?view=diff&rev=81449&r1=81448&r2=81449
==============================================================================
--- trunk/channels/chan_iax2.c (original)
+++ trunk/channels/chan_iax2.c Tue Sep  4 13:40:07 2007
@@ -670,10 +670,10 @@
 #else
 #define MAX_PEER_BUCKETS 563
 #endif
-static ao2_container *peers;
+static struct ao2_container *peers;
 
 #define MAX_USER_BUCKETS MAX_PEER_BUCKETS
-static ao2_container *users;
+static struct ao2_container *users;
 
 static AST_LIST_HEAD_STATIC(firmwares, iax_firmware);
 
@@ -1302,7 +1302,7 @@
 {
 	struct iax2_peer *peer = NULL;
 	int res = 0;
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	i = ao2_iterator_init(peers, 0);
 	while ((peer = ao2_iterator_next(&i))) {
@@ -2427,7 +2427,7 @@
 	struct iax2_peer *peer;
 	char *res = NULL;
 	int wordlen = strlen(word);
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	/* 0 - iax2; 1 - show; 2 - peer; 3 - <peername> */
 	if (pos != 3)
@@ -3690,7 +3690,7 @@
 {
 	struct iax2_peer *peer;
 	int res = 0;
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	i = ao2_iterator_init(peers, 0);
 	while ((peer = ao2_iterator_next(&i))) {
@@ -4438,7 +4438,7 @@
 	struct iax2_user *user = NULL;
 	char auth[90];
 	char *pstr = "";
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	switch (argc) {
 	case 5:
@@ -4496,7 +4496,7 @@
 	int online_peers = 0;
 	int offline_peers = 0;
 	int unmonitored_peers = 0;
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 #define FORMAT2 "%-15.15s  %-15.15s %s  %-15.15s  %-8s  %s %-10s%s"
 #define FORMAT "%-15.15s  %-15.15s %s  %-15.15s  %-5d%s  %s %-10s%s"
@@ -4698,7 +4698,7 @@
 
 	/* 0 - iax2; 1 - unregister; 2 - <peername> */
 	if (pos == 2) {
-		ao2_iterator i = ao2_iterator_init(peers, 0);
+		struct ao2_iterator i = ao2_iterator_init(peers, 0);
 		while ((p = ao2_iterator_next(&i))) {
 			if (!strncasecmp(p->name, word, wordlen) && 
 				++which > state && p->expire > 0) {
@@ -5102,7 +5102,7 @@
 	int bestscore = 0;
 	int gotcapability = 0;
 	struct ast_variable *v = NULL, *tmpvar = NULL;
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	if (!iaxs[callno])
 		return res;
@@ -5693,7 +5693,7 @@
 		/* Normal password authentication */
 		res = authenticate(p->challenge, override, okey, authmethods, &ied, sin, &p->ecx, &p->dcx);
 	} else {
-		ao2_iterator i = ao2_iterator_init(peers, 0);
+		struct ao2_iterator i = ao2_iterator_init(peers, 0);
 		while ((peer = ao2_iterator_next(&i))) {
 			if ((ast_strlen_zero(p->peer) || !strcmp(p->peer, peer->name)) 
 			    /* No peer specified at our end, or this is the peer */
@@ -9918,7 +9918,7 @@
 static void prune_users(void)
 {
 	struct iax2_user *user;
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	i = ao2_iterator_init(users, 0);
 	while ((user = ao2_iterator_next(&i))) {
@@ -9932,7 +9932,7 @@
 static void prune_peers(void)
 {
 	struct iax2_peer *peer;
-	ao2_iterator i;
+	struct ao2_iterator i;
 
 	i = ao2_iterator_init(peers, 0);
 	while ((peer = ao2_iterator_next(&i))) {

Modified: trunk/include/asterisk/astobj2.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/astobj2.h?view=diff&rev=81449&r1=81448&r2=81449
==============================================================================
--- trunk/include/asterisk/astobj2.h (original)
+++ trunk/include/asterisk/astobj2.h Tue Sep  4 13:40:07 2007
@@ -87,7 +87,7 @@
     <b>Sample Usage:</b>
     \code
 
-    ao2_container *c;
+    struct ao2_container *c;
 
     c = ao2_container_alloc(MAX_BUCKETS, my_hash_fn, my_cmp_fn);
 
@@ -239,8 +239,8 @@
     iterate on a container
 	this is done with the following sequence
 
-	    ao2_container *c = ... // our container
-	    ao2_iterator i;
+	    struct ao2_container *c = ... // our container
+	    struct ao2_iterator i;
 	    void *o;
 
 	    i = ao2_iterator_init(c, flags);
@@ -320,14 +320,7 @@
 /*!
  * Here start declarations of containers.
  */
-
-/*!
- * This structure contains the total number of buckets 
- * and variable size array of object pointers.
- * It is opaque, defined in astobj2.c, so we only need
- * a type declaration.
- */
-typedef struct __ao2_container ao2_container;
+struct ao2_container;
 
 /*!
  * Allocate and initialize a container 
@@ -343,13 +336,13 @@
  *
  * destructor is set implicitly.
  */
-ao2_container *ao2_container_alloc(const uint n_buckets,
+struct ao2_container *ao2_container_alloc(const uint n_buckets,
 		ao2_hash_fn hash_fn, ao2_callback_fn cmp_fn);
 
 /*!
  * Returns the number of elements in a container.
  */
-int ao2_container_count(ao2_container *c);
+int ao2_container_count(struct ao2_container *c);
 
 /*
  * Here we have functions to manage objects.
@@ -368,8 +361,8 @@
  *
  * \note Remember to set the key before calling this function.
  */
-void *ao2_link(ao2_container *c, void *newobj);
-void *ao2_unlink(ao2_container *c, void *newobj);
+void *ao2_link(struct ao2_container *c, void *newobj);
+void *ao2_unlink(struct ao2_container *c, void *newobj);
 
 /*! \struct Used as return value if the flag OBJ_MULTIPLE is set */
 struct ao2_list {
@@ -425,8 +418,8 @@
  * be used to free the additional reference possibly created by this function.
  */
 /* XXX order of arguments to find */
-void *ao2_find(ao2_container *c, void *arg, enum search_flags flags);
-void *ao2_callback(ao2_container *c,
+void *ao2_find(struct ao2_container *c, void *arg, enum search_flags flags);
+void *ao2_callback(struct ao2_container *c,
 	enum search_flags flags,
 	ao2_callback_fn cb_fn, void *arg);
 
@@ -465,8 +458,8 @@
  *
  *  \code
  *
- *  ao2_container *c = ... // the container we want to iterate on
- *  ao2_iterator i;
+ *  struct ao2_container *c = ... // the container we want to iterate on
+ *  struct ao2_iterator i;
  *  struct my_obj *o;
  *
  *  i = ao2_iterator_init(c, flags);
@@ -503,9 +496,9 @@
  * A freshly-initialized iterator has bucket=0, version = 0.
  */
 
-struct __ao2_iterator {
+struct ao2_iterator {
 	/*! the container */
-	ao2_container *c;
+	struct ao2_container *c;
 	/*! operation flags */
 	int flags;
 #define	F_AO2I_DONTLOCK	1	/*!< don't lock when iterating */
@@ -517,11 +510,10 @@
 	void *obj;
 	/*! container version when the object was created */
 	uint version;
-};              
-typedef struct __ao2_iterator ao2_iterator;
-
-ao2_iterator ao2_iterator_init(ao2_container *c, int flags);
-
-void *ao2_iterator_next(ao2_iterator *a);
+};
+
+struct ao2_iterator ao2_iterator_init(struct ao2_container *c, int flags);
+
+void *ao2_iterator_next(struct ao2_iterator *a);
 
 #endif /* _ASTERISK_ASTOBJ2_H */

Modified: trunk/main/astobj2.c
URL: http://svn.digium.com/view/asterisk/trunk/main/astobj2.c?view=diff&rev=81449&r1=81448&r2=81449
==============================================================================
--- trunk/main/astobj2.c (original)
+++ trunk/main/astobj2.c Tue Sep  4 13:40:07 2007
@@ -243,7 +243,7 @@
  * This will be more efficient as we can do the freelist management while
  * we hold the lock (that we need anyways).
  */
-struct __ao2_container {
+struct ao2_container {
 	ao2_hash_fn hash_fn;
 	ao2_callback_fn cmp_fn;
 	int n_buckets;
@@ -272,15 +272,15 @@
 /*
  * A container is just an object, after all!
  */
-ao2_container *
+struct ao2_container *
 ao2_container_alloc(const uint n_buckets, ao2_hash_fn hash_fn,
 		ao2_callback_fn cmp_fn)
 {
 	/* XXX maybe consistency check on arguments ? */
 	/* compute the container size */
-	size_t container_size = sizeof(ao2_container) + n_buckets * sizeof(struct bucket);
-
-	ao2_container *c = ao2_alloc(container_size, container_destruct);
+	size_t container_size = sizeof(struct ao2_container) + n_buckets * sizeof(struct bucket);
+
+	struct ao2_container *c = ao2_alloc(container_size, container_destruct);
 
 	if (!c)
 		return NULL;
@@ -297,7 +297,7 @@
 /*!
  * return the number of elements in the container
  */
-int ao2_container_count(ao2_container *c)
+int ao2_container_count(struct ao2_container *c)
 {
 	return c->elements;
 }
@@ -316,7 +316,7 @@
 /*
  * link an object to a container
  */
-void *ao2_link(ao2_container *c, void *user_data)
+void *ao2_link(struct ao2_container *c, void *user_data)
 {
 	int i;
 	/* create a new list entry */
@@ -358,7 +358,7 @@
  * Unlink an object from the container
  * and destroy the associated * ao2_bucket_list structure.
  */
-void *ao2_unlink(ao2_container *c, void *user_data)
+void *ao2_unlink(struct ao2_container *c, void *user_data)
 {
 	if (INTERNAL_OBJ(user_data) == NULL)	/* safety check on the argument */
 		return NULL;
@@ -381,7 +381,7 @@
  * \return Is a pointer to an object or to a list of object if OBJ_MULTIPLE is 
  * specified.
  */
-void *ao2_callback(ao2_container *c,
+void *ao2_callback(struct ao2_container *c,
 	const enum search_flags flags,
 	ao2_callback_fn cb_fn, void *arg)
 {
@@ -485,7 +485,7 @@
 /*!
  * the find function just invokes the default callback with some reasonable flags.
  */
-void *ao2_find(ao2_container *c, void *arg, enum search_flags flags)
+void *ao2_find(struct ao2_container *c, void *arg, enum search_flags flags)
 {
 	return ao2_callback(c, flags, c->cmp_fn, arg);
 }
@@ -493,9 +493,9 @@
 /*!
  * initialize an iterator so we start from the first object
  */
-ao2_iterator ao2_iterator_init(ao2_container *c, int flags)
-{
-	ao2_iterator a = {
+struct ao2_iterator ao2_iterator_init(struct ao2_container *c, int flags)
+{
+	struct ao2_iterator a = {
 		.c = c,
 		.flags = flags
 	};
@@ -506,7 +506,7 @@
 /*
  * move to the next element in the container.
  */
-void * ao2_iterator_next(ao2_iterator *a)
+void * ao2_iterator_next(struct ao2_iterator *a)
 {
 	int lim;
 	struct bucket_list *p = NULL;
@@ -571,7 +571,7 @@
 	
 static void container_destruct(void *_c)
 {
-	ao2_container *c = _c;
+	struct ao2_container *c = _c;
 
 	ao2_callback(c, OBJ_UNLINK, cd_cb, NULL);
 	ast_atomic_fetchadd_int(&ao2.total_containers, -1);
@@ -604,7 +604,7 @@
  */
 static int handle_astobj2_test(int fd, int argc, char *argv[])
 {
-	ao2_container *c1;
+	struct ao2_container *c1;
 	int i, lim;
 	char *obj;
 	static int prof_id = -1;
@@ -642,7 +642,7 @@
 
 	ast_cli(fd, "testing iterators, remove every second object\n");
 	{
-		ao2_iterator ai;
+		struct ao2_iterator ai;
 		int x = 0;
 
 		ai = ao2_iterator_init(c1, 0);




More information about the asterisk-commits mailing list