]> git.ipfire.org Git - thirdparty/asterisk.git/commit
app_voicemail.c: Completely resequence mailbox folders.
authorSean Bright <sean@seanbright.com>
Mon, 27 Nov 2023 15:20:02 +0000 (10:20 -0500)
committerSean Bright <sean@seanbright.com>
Tue, 28 Nov 2023 20:01:01 +0000 (20:01 +0000)
commitfbe92dce2b10ceca70ca12a5b901c40f308b9393
tree6c4a7cb1c3f81dbe7a56ba5189b5a0e4efe071e8
parentc930230a737212cf3bcd386a1a7f13849ab093fc
app_voicemail.c: Completely resequence mailbox folders.

Resequencing is a process that occurs when we open a voicemail folder
and discover that there are gaps between messages (e.g. `msg0000.txt`
is missing but `msg0001.txt` exists). Resequencing involves shifting
the existing messages down so we end up with a sequential list of
messages.

Currently, this process stops after reaching a threshold based on the
message limit (`maxmsg`) configured on the current folder. However, if
`maxmsg` is lowered when a voicemail folder contains more than
`maxmsg + 10` messages, resequencing will not run completely leaving
the mailbox in an inconsistent state.

We now resequence up to the maximum number of messages permitted by
`app_voicemail` (currently hard-coded at 9999 messages).

Fixes #86
apps/app_voicemail.c