mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
There are 3 ways that calls directly to standard allocator functions can be dealt with: 1. Block their use, cause them to generate an error. This is the default. 2. Replace them with the Asterisk equivalent function calls. 3. Leave them alone. This change allows one of these 3 options to be selected by any source. The source just needs to define ASTMM_LIBC to ASTMM_BLOCK, ASTMM_REDIRECT, or ASTMM_IGNORE to use option 1, 2 or 3 respectively. Normally ASTMM_BLOCK is the correct option, so it is default when ASTMM_LIBC is not defined. In some cases when building 3rd party code it is desirable to have it use Asterisk functions, without changing the whole source - ASTMM_REDIRECT accomplishes this. When using 3rd party libraries sometimes a static inline function will make use of malloc or free. In these cases it may be unsafe to replace the allocator in the header, as it's possible the memory could be freed by the library using standard allocators. For those cases ASTMM_IGNORE is needed. Change-Id: I8afef4bc7f3b93914263ae27d3a5858b69663fc7
messages-expire.pl messages-expire finds messages more than X days old and deletes them. Because the older messages will be the lower numbers in the folder (msg0000 will be older than msg0005), just deleting msg0000 will not work. expire-messages then runs a routine that goes into every folder in every mailbox to reorganize. If the folder contains msg0000, no action is taken. If the folder does not, the rename routine takes the oldest message and names it msg0000, the next oldest message and names it msg0001 and so on. The file deletion is done by the -exec parameter to 'find'. It would be far more efficient to take the output from 'find' and just reorganize the directories from which we deleted a file. Something for the future... Keep in mind that messages are deleted at the beginning of the script you will have mailbox trouble if you check messages before the script reorganizes your mailbox. To use it, make sure the paths are right. Adjust $age (originally set to 31) if necessary.