diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-05-16 13:36:35 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-05-16 13:36:35 +0000 |
commit | 1eecc81838c4dae2c6234c4ce030d779c5a50b1d (patch) | |
tree | ddae7103f7c93142062d137e17c3583602fe4c51 /apps/app_voicemail.c | |
parent | 0dc3f6ee768bed79cafa02f20bef646da563b8d2 (diff) |
clean up message duration writing code (bug #4285)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_voicemail.c')
-rwxr-xr-x | apps/app_voicemail.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 0586a56ee..fc3a18cf6 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -1988,7 +1988,6 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int FILE *txt; int res = 0; int msgnum; - int fd; int duration = 0; int ausemacro = 0; int ousemacro = 0; @@ -2192,24 +2191,22 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int chan->name, ast_callerid_merge(callerid, sizeof(callerid), chan->cid.cid_name, chan->cid.cid_num, "Unknown"), date, (long)time(NULL), - category ? category : ""); - fclose(txt); + category ? category : ""); } else ast_log(LOG_WARNING, "Error opening text file for output\n"); res = play_record_review(chan, NULL, fn, vmmaxmessage, fmt, 1, vmu, &duration, dir); - if (res == '0') + if (res == '0') { + if (txt) + fclose(txt); goto transfer; + } if (res > 0) res = 0; - fd = open(txtfile, O_APPEND | O_WRONLY); - if (fd > -1) { - txt = fdopen(fd, "a"); - if (txt) { - fprintf(txt, "duration=%d\n", duration); - fclose(txt); - } else - close(fd); + if (txt) { + fprintf(txt, "duration=%d\n", duration); + fclose(txt); } + 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); |