From a95c71ff6d2a9c7a5edb922ff61458cdf0be254e Mon Sep 17 00:00:00 2001 From: mogorman Date: Fri, 8 Sep 2006 22:54:28 +0000 Subject: Get rid of ugly tmp directory, although I really should fix the way imap accesses its temporary voice files. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42491 f38db490-d61c-443f-a65b-d21fe96a405b --- apps/app_voicemail.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'apps') diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 27d58534f..8da1b40b7 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -124,8 +124,6 @@ static int save_body(BODY *body, struct vm_state *vms, char *section, char *form static int make_gsm_file(char *dest, char *imapuser, char *dir, int num); static void get_mailbox_delimiter(MAILSTREAM *stream); static void mm_parsequota (MAILSTREAM *stream, unsigned char *msg, QUOTALIST *pquota); -/* should define TMP in config file... */ -#define TMP "/tmp" struct vmstate { struct vm_state *vms; struct vmstate *next; @@ -2882,7 +2880,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_ /* here is a big difference! We add one to it later */ msgnum = newmsgs + oldmsgs; ast_log(LOG_NOTICE, "Messagecount set to %d\n",msgnum); - sprintf(fn, "%s/msg%s%04d", TMP, vmu->mailbox, msgnum); + snprintf(fn, sizeof(fn), "%s/imap/msg%s%04d", VM_SPOOL_DIR, vmu->mailbox, msgnum); /* set variable for compatability */ pbx_builtin_setvar_helper(chan, "VM_MESSAGEFILE", "IMAP_STORAGE"); @@ -3722,7 +3720,7 @@ static int notify_new_message(struct ast_channel *chan, struct ast_vm_user *vmu, const char *category = pbx_builtin_getvar_helper(chan, "VM_CATEGORY"); #ifdef IMAP_STORAGE - stpcpy(todir,TMP); + snprintf(todir, sizeof(todir), "%s/imap",VM_SPOOL_DIR); sprintf(fn, "%s/msg%s%04d", todir, vmu->mailbox, msgnum); #else make_dir(todir, sizeof(todir), vmu->context, vmu->mailbox, "INBOX"); @@ -3968,8 +3966,8 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st ast_log (LOG_DEBUG,"**** format set to %s, vmfmts set to %s\n",fmt,vmfmts); /* ast_copy_string(fmt, vmfmts, sizeof(fmt));*/ /* if (!ast_strlen_zero(fmt)) { */ - - make_gsm_file(vms->fn, vms->imapuser, TMP, vms->curmsg); + snprintf(todir, sizeof(todir), "%s/imap", VM_SPOOL_DIR); + make_gsm_file(vms->fn, vms->imapuser, todir, vms->curmsg); if(option_debug > 2) ast_log (LOG_DEBUG,"Before mail_fetchstructure, message number is %ld, filename is:%s\n",vms->msgArray[vms->curmsg], vms->fn); /*mail_fetchstructure (mailstream, vmArray[0], &body); */ @@ -3983,7 +3981,6 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st myserveremail = vmtmp->serveremail; int attach_user_voicemail = ast_test_flag((&globalflags), VM_ATTACH); attach_user_voicemail = ast_test_flag(vmtmp, VM_ATTACH); - stpcpy(todir,TMP); sprintf(fn, "%s/%s/msg%04d", todir, vms->imapuser, vms->curmsg); /* NULL category for IMAP storage */ sendmail(myserveremail, vmtmp, todircount, vmtmp->context, vmtmp->mailbox, chan->cid.cid_num, chan->cid.cid_name, fn, fmt, duration, attach_user_voicemail, chan, NULL); @@ -4299,7 +4296,7 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc char origtime[32]; char duration[16]; char category[32]; - + char todir[256]; int res = 0; char *temp; @@ -4318,8 +4315,8 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc ast_log (LOG_ERROR,"Could not fetch header for message number %ld\n",vms->msgArray[vms->curmsg]); return -1; } - - make_gsm_file(vms->fn, vms->imapuser,TMP, vms->curmsg); + snprintf(todir, sizeof(todir), "%s/imap", VM_SPOOL_DIR); + make_gsm_file(vms->fn, vms->imapuser, todir, vms->curmsg); mail_fetchstructure (vms->mailstream,vms->msgArray[vms->curmsg],&body); save_body(body,vms,"3","gsm"); @@ -4398,7 +4395,6 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc res = 0; if (!res) { - /* make_file(vms->fn, sizeof(vms->fn), TMP, vms->curmsg); */ vms->heard[vms->curmsg] = 1; res = wait_file(chan, vms, vms->fn); } -- cgit v1.2.3