From: Jonathan Rose Date: Tue, 3 Apr 2012 21:03:01 +0000 (+0000) Subject: Make m option for mixmonitor delete the source file once it is finished copying to vm. X-Git-Tag: certified/1.8.11-cert1~3^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3f16bca11bc6c3c9bae7141c8792f1fb17fb4de;p=thirdparty%2Fasterisk.git Make m option for mixmonitor delete the source file once it is finished copying to vm. Review: https://reviewboard.asterisk.org/r/1842/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8-digiumphones@361088 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c index 7176de91a0..dbefb300ba 100644 --- a/apps/app_mixmonitor.c +++ b/apps/app_mixmonitor.c @@ -97,8 +97,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") @@ -390,6 +391,8 @@ static void copy_to_voicemail(struct mixmonitor *mixmonitor, char *ext) { struct vm_recipient *recipient = NULL; struct ast_vm_recording_data recording_data; + char filename[PATH_MAX]; + if (ast_string_field_init(&recording_data, 512)) { ast_log(LOG_ERROR, "Failed to string_field_init, skipping copy_to_voicemail\n"); return; @@ -415,6 +418,12 @@ static void copy_to_voicemail(struct mixmonitor *mixmonitor, char *ext) ast_app_copy_recording_to_vm(&recording_data); } + /* Delete the source file */ + snprintf(filename, sizeof(filename), "%s.%s", mixmonitor->filename, ext); + if (remove(filename)) { + ast_log(LOG_ERROR, "Failed to delete recording source file %s\n", filename); + } + /* Free the string fields for recording_data before exiting the function. */ ast_string_field_free_memory(&recording_data); }