diff --git a/devicestate.c b/devicestate.c index fabed739d5711665c5f32087315e73f8eb866f5d..086cadbf429e78a713dec9695944e6894cf13f26 100755 --- a/devicestate.c +++ b/devicestate.c @@ -195,12 +195,13 @@ static void do_state_change(const char *device) static int __ast_device_state_changed_literal(char *buf) { - char *device; - char *parse; + char *device, *tmp; struct state_change *change = NULL; - parse = buf; - device = strsep(&parse, "-"); + device = buf; + tmp = strrchr(device, '-'); + if (tmp) + *tmp = '\0'; if (change_thread != AST_PTHREADT_NULL) change = calloc(1, sizeof(*change) + strlen(device));