From ab76c7bfeac0a43b2d63139a93ad156e6988c5ef Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Mon, 14 May 2007 18:39:16 +0000 Subject: [PATCH] Merged revisions 64276 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r64276 | file | 2007-05-14 14:36:34 -0400 (Mon, 14 May 2007) | 10 lines Merged revisions 64275 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r64275 | file | 2007-05-14 14:34:06 -0400 (Mon, 14 May 2007) | 2 lines Only perform stripping of - strings from the channel name for Zap channels. Anywhere else we might remove a legitimate part of a device name. (issue #9668 reported by stevedavies) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64277 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/devicestate.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/main/devicestate.c b/main/devicestate.c index c13d635d1f..d0b9722700 100644 --- a/main/devicestate.c +++ b/main/devicestate.c @@ -437,15 +437,19 @@ static void do_state_change(const char *device) static int __ast_device_state_changed_literal(char *buf) { - char *device, *tmp; + char *device; struct state_change *change; if (option_debug > 2) ast_log(LOG_DEBUG, "Notification of state change to be queued on device/channel %s\n", buf); device = buf; - if ((tmp = strrchr(device, '-'))) - *tmp = '\0'; + + if (!strncasecmp(device, "Zap", 3)) { + char *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 */