From fac93e84789a892841cd119424a0a6bbbc95590f Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 9 Sep 2008 16:26:56 +0000 Subject: [PATCH] Fix app_queue's device state callback so that it can correctly parse custom device states (and any other device which does not contain a '/'). 1.6.1 will be getting this patch as well, but trunk is going to get a much more massive patch by bbryant which does some very nice overhauling of some structures in app_queue. (closes issue #12979) Reported by: sigxcpu Patches: 12979.patch uploaded by putnopvut (license 60) Tested by: sigxcpu git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@142090 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index ba003911dd..56bb219f46 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -733,16 +733,6 @@ static int update_status(const char *interface, const int status) static void *handle_statechange(struct statechange *sc) { struct member_interface *curint; - char *loc; - char *technology; - - technology = ast_strdupa(sc->dev); - loc = strchr(technology, '/'); - if (loc) { - *loc++ = '\0'; - } else { - return NULL; - } AST_LIST_LOCK(&interfaces); AST_LIST_TRAVERSE(&interfaces, curint, list) { @@ -759,13 +749,11 @@ static void *handle_statechange(struct statechange *sc) AST_LIST_UNLOCK(&interfaces); if (!curint) { - if (option_debug > 2) - ast_log(LOG_DEBUG, "Device '%s/%s' changed to state '%d' (%s) but we don't care because they're not a member of any queue.\n", technology, loc, sc->state, devstate2str(sc->state)); + ast_debug(3, "Device '%s' changed to state '%d' (%s) but we don't care because they're not a member of any queue.\n", sc->dev, sc->state, devstate2str(sc->state)); return NULL; } - if (option_debug) - ast_log(LOG_DEBUG, "Device '%s/%s' changed to state '%d' (%s)\n", technology, loc, sc->state, devstate2str(sc->state)); + ast_debug(1, "Device '%s' changed to state '%d' (%s)\n", sc->dev, sc->state, devstate2str(sc->state)); update_status(sc->dev, sc->state);