]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue.c: Fix clearing of pause reason string. 87/4087/1
authorRichard Mudgett <rmudgett@digium.com>
Wed, 12 Oct 2016 22:27:06 +0000 (17:27 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 13 Oct 2016 20:55:36 +0000 (15:55 -0500)
The pause reason is not always cleared when it should be cleared.

* Made set_queue_member_pause() always clear pause reason if not pausing
with a reason string.

Change-Id: I993dad19626ec017478a230e980989438b778c53

apps/app_queue.c

index 873ab0ce6b9686ce53d1f8aeebbafc66a54a90e0..d41ddb1a9b39b7383e2f83b9985877dfabfad496 100644 (file)
@@ -7233,12 +7233,12 @@ static void set_queue_member_pause(struct call_queue *q, struct member *mem, con
 
        mem->paused = paused;
        if (paused) {
-               if (!ast_strlen_zero(reason)) {
-                       ast_copy_string(mem->reason_paused, reason, sizeof(mem->reason_paused));
-               }
                time(&mem->lastpause); /* update last pause field */
+       }
+       if (paused && !ast_strlen_zero(reason)) {
+               ast_copy_string(mem->reason_paused, reason, sizeof(mem->reason_paused));
        } else {
-               ast_copy_string(mem->reason_paused, "", sizeof(mem->reason_paused));
+               mem->reason_paused[0] = '\0';
        }
 
        ast_devstate_changed(mem->paused ? QUEUE_PAUSED_DEVSTATE : QUEUE_UNPAUSED_DEVSTATE,