]> 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)
committerAsterisk Development Team <asteriskteam@digium.com>
Fri, 12 Jan 2024 18:32:13 +0000 (18:32 +0000)
commit77e801129127bf6531b8f17cea0ac750261017be
tree0247fbdc0c76e359bb4d595adaeb85879b0ab527
parent4e774da45ab1bad56b45adafe6f686e089b0569b
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

(cherry picked from commit fbe92dce2b10ceca70ca12a5b901c40f308b9393)
apps/app_voicemail.c