diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-08 05:28:47 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-08 05:28:47 +0000 |
commit | a45a413db3bdce126d5cb28ed49b776fdebb4b1d (patch) | |
tree | 444ea944312fd31b5524ee43f8cfc97e2884c6de /res/res_odbc.c | |
parent | beabbf77e66fbdd59fdcb5e12dade8039fd0b683 (diff) |
improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
- add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_odbc.c')
-rw-r--r-- | res/res_odbc.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/res/res_odbc.c b/res/res_odbc.c index 6475e33b9..0b3887232 100644 --- a/res/res_odbc.c +++ b/res/res_odbc.c @@ -706,15 +706,13 @@ static int reload(void) /* Purge classes that we know can go away (pooled with 0, only) */ AST_LIST_TRAVERSE_SAFE_BEGIN(&odbc_list, class, list) { if (class->delme && class->haspool && class->count == 0) { - AST_LIST_TRAVERSE_SAFE_BEGIN(&(class->odbc_obj), current, list) { - AST_LIST_REMOVE_CURRENT(&(class->odbc_obj), list); + while ((current = AST_LIST_REMOVE_HEAD(&class->odbc_obj, list))) { odbc_obj_disconnect(current); ast_mutex_destroy(¤t->lock); ast_free(current); } - AST_LIST_TRAVERSE_SAFE_END; - AST_LIST_REMOVE_CURRENT(&odbc_list, list); + AST_LIST_REMOVE_CURRENT(list); ast_free(class); } } |