[asterisk-commits] trunk r34876 - in /trunk: ./ apps/app_voicemail.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Jun 19 11:11:04 MST 2006


Author: tilghman
Date: Mon Jun 19 13:11:04 2006
New Revision: 34876

URL: http://svn.digium.com/view/asterisk?rev=34876&view=rev
Log:
Merged revisions 34875 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r34875 | tilghman | 2006-06-19 13:07:26 -0500 (Mon, 19 Jun 2006) | 2 lines

Issue 7357 - txt file left behind when going to operator.  Also, fix a possible file descriptor leak.

........

Modified:
    trunk/   (props changed)
    trunk/apps/app_voicemail.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Modified: trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_voicemail.c?rev=34876&r1=34875&r2=34876&view=diff
==============================================================================
--- trunk/apps/app_voicemail.c (original)
+++ trunk/apps/app_voicemail.c Mon Jun 19 13:11:04 2006
@@ -2628,6 +2628,7 @@
 			if (duration < vmminmessage) {
 				if (option_verbose > 2) 
 					ast_verbose( VERBOSE_PREFIX_3 "Recording was %d seconds long but needs to be at least %d - abandoning\n", duration, vmminmessage);
+				fclose(txt);
 				ast_filedelete(tmptxtfile, NULL);
 				unlink(tmptxtfile);
 			} else {
@@ -2638,6 +2639,10 @@
 					/* Delete files */
 					ast_filedelete(tmptxtfile, NULL);
 					unlink(tmptxtfile);
+				} else if (ast_fileexists(tmptxtfile, NULL, NULL) <= 0) {
+					if (option_debug) 
+						ast_log(LOG_DEBUG, "The recorded media file is gone, so we should remove the .txt file too!\n");
+					unlink(tmptxtfile);	
 				} else {
 					for (;;) {
 						make_file(fn, sizeof(fn), dir, msgnum);
@@ -2671,7 +2676,7 @@
 							free_user(recip);
 						}
 					}
-					if (ast_fileexists(fn, NULL, NULL)) {
+					if (ast_fileexists(fn, NULL, NULL) > 0) {
 						STORE(dir, vmu->mailbox, vmu->context, msgnum);
 						notify_new_message(chan, vmu, msgnum, duration, fmt, chan->cid.cid_num, chan->cid.cid_name);
 						DISPOSE(dir, msgnum);



More information about the asterisk-commits mailing list