From: Mark Spencer Date: Thu, 3 Apr 2003 07:35:14 +0000 (+0000) Subject: State change patch X-Git-Tag: 0.4.0~98 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9b675251440b5b7a7a2ec742098c10185fbb62d0;p=thirdparty%2Fasterisk.git State change patch git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@740 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/pbx.c b/pbx.c index 9a41ce2183..011bd26877 100755 --- a/pbx.c +++ b/pbx.c @@ -1245,18 +1245,21 @@ int ast_extension_state_add(char *context, char *exten, struct ast_notify_cb *cblist; struct ast_exten *e; + e = ast_hint_extension(NULL, context, exten); + if (!e) { + return -1; + } + pthread_mutex_lock(¬ifylock); list = notifys; while (list) { - if (!strcmp(list->exten->parent->name, context) && - !strcmp(list->exten->exten, exten)) + if (list->exten == e) break; list = list->next; } if (!list) { - e = ast_hint_extension(NULL, context, exten); if (!e) { pthread_mutex_unlock(¬ifylock); return -1; @@ -1267,9 +1270,9 @@ int ast_extension_state_add(char *context, char *exten, return -1; } /* Initialize and insert new item */ - memset(list, 0, sizeof(struct ast_notify)); + memset(list, 0, sizeof(struct ast_notify)); list->exten = e; - list->laststate = -1; + list->laststate = ast_extension_state2(e); list->next = notifys; notifys = list; }