diff options
-rw-r--r-- | main/devicestate.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/main/devicestate.c b/main/devicestate.c index a1b4c4ca3..f8e1a337a 100644 --- a/main/devicestate.c +++ b/main/devicestate.c @@ -399,18 +399,17 @@ static int __ast_device_state_changed_literal(char *buf) { char *device; struct state_change *change; + char *tmp = NULL; if (option_debug > 2) ast_log(LOG_DEBUG, "Notification of state change to be queued on device/channel %s\n", buf); device = buf; - if (!strncasecmp(device, "Zap", 3)) { - char *tmp = strrchr(device, '-'); - if (tmp) - *tmp = '\0'; - } - + tmp = strrchr(device, '-'); + if (tmp) + *tmp = '\0'; + if (change_thread == AST_PTHREADT_NULL || !(change = ast_calloc(1, sizeof(*change) + strlen(device)))) { /* we could not allocate a change struct, or */ /* there is no background thread, so process the change now */ |