Update of /usr/cvsroot/asterisk/include/asterisk
In directory localhost.localdomain:/tmp/cvs-serv21888/include/asterisk

Modified Files:
        astobj.h 
Log Message:
add direct object unlink macro to ASTOBJ api
various minor cleanups in chan_sip


Index: astobj.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/astobj.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- astobj.h    21 Apr 2005 06:02:44 -0000      1.12
+++ astobj.h    1 May 2005 18:08:14 -0000       1.13
@@ -187,6 +187,26 @@
                ASTOBJ_CONTAINER_UNLOCK(container); \
        } while(0)
 
+#define ASTOBJ_CONTAINER_UNLINK(container,obj) \
+       ({ \
+               typeof((container)->head) found = NULL; \
+               typeof((container)->head) prev = NULL; \
+               ASTOBJ_CONTAINER_TRAVERSE(container, !found, do { \
+                       if (iterator == obj) { \
+                               found = iterator; \
+                               found->next[0] = NULL; \
+                               ASTOBJ_CONTAINER_WRLOCK(container); \
+                               if (prev) \
+                                       prev->next[0] = next; \
+                               else \
+                                       (container)->head = next; \
+                               ASTOBJ_CONTAINER_UNLOCK(container); \
+                       } \
+                       prev = iterator; \
+               } while (0)); \
+               found; \
+       })
+
 #define ASTOBJ_CONTAINER_FIND_UNLINK(container,namestr) \
        ({ \
                typeof((container)->head) found = NULL; \

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to