[asterisk-commits] mmichelson: branch mmichelson/imap_consistency_trunk r136714 - /team/mmichels...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Aug 7 17:20:49 CDT 2008
Author: mmichelson
Date: Thu Aug 7 17:20:48 2008
New Revision: 136714
URL: http://svn.digium.com/view/asterisk?view=rev&rev=136714
Log:
I believe this does it. Now forwarding and prepending
work as expected, and no remnants are left on the file
system.
Next move. Merge to trunk.
Modified:
team/mmichelson/imap_consistency_trunk/apps/app_voicemail.c
Modified: team/mmichelson/imap_consistency_trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/mmichelson/imap_consistency_trunk/apps/app_voicemail.c?view=diff&rev=136714&r1=136713&r2=136714
==============================================================================
--- team/mmichelson/imap_consistency_trunk/apps/app_voicemail.c (original)
+++ team/mmichelson/imap_consistency_trunk/apps/app_voicemail.c Thu Aug 7 17:20:48 2008
@@ -1458,7 +1458,7 @@
}
make_file(vms->fn, sizeof(vms->fn), dir, msgnum);
- snprintf(vms->introfn, sizeof(vms->introfn), "%sintro\n", vms->fn);
+ snprintf(vms->introfn, sizeof(vms->introfn), "%sintro", vms->fn);
/* Don't try to retrieve a message from IMAP if it already is on the file system */
if (ast_fileexists(vms->fn, NULL, NULL) > 0) {
@@ -1488,6 +1488,7 @@
/* We have the body, now we extract the file name of the first attachment. */
if (body->nested.part && body->nested.part->next && body->nested.part->next->body.parameter->value) {
attachedfilefmt = ast_strdupa(body->nested.part->next->body.parameter->value);
+ ast_log(LOG_NOTICE, "%s is the attached file\n", attachedfilefmt);
} else {
ast_log(LOG_ERROR, "There is no file attached to this IMAP message.\n");
res = -1;
@@ -1505,6 +1506,7 @@
save_body(body, vms, "2", attachedfilefmt, 0);
if (save_body(body, vms, "3", attachedfilefmt, 1)) {
+ ast_log(LOG_NOTICE, "Nulling the introfn cuz ain't nothing in part 3\n");
*vms->introfn = '\0';
}
@@ -2129,6 +2131,7 @@
static void write_file(char *filename, char *buffer, unsigned long len)
{
FILE *output;
+ ast_log(LOG_NOTICE, "The name of the file I'm writing is %s\n", filename);
output = fopen (filename, "w");
fwrite (buffer, len, 1, output);
@@ -3398,7 +3401,6 @@
}
#endif
-#endif /* #ifndef IMAP_STORAGE */
/*!
* \brief Utility function to copy a file.
@@ -3511,6 +3513,7 @@
ast_variables_destroy(var);
}
+#endif /* #ifndef IMAP_STORAGE */
#endif /* #else of #ifdef ODBC_STORAGE */
#if (!defined(ODBC_STORAGE) && !defined(IMAP_STORAGE))
/*!
@@ -6142,17 +6145,10 @@
} else {
/* Forward VoiceMail */
long duration = 0;
- char origmsgfile[PATH_MAX], msgfile[PATH_MAX];
struct vm_state vmstmp;
memcpy(&vmstmp, vms, sizeof(vmstmp));
- make_file(origmsgfile, sizeof(origmsgfile), dir, curmsg);
- create_dirpath(vmstmp.curdir, sizeof(vmstmp.curdir), sender->context, vmstmp.username, "tmp");
- make_file(msgfile, sizeof(msgfile), vmstmp.curdir, curmsg);
-
RETRIEVE(dir, curmsg, sender->mailbox, sender->context);
-
- copy_plain_file(origmsgfile, msgfile);
cmd = vm_forwardoptions(chan, sender, vmstmp.curdir, curmsg, vmfmts, S_OR(context, "default"), record_gain, &duration, &vmstmp, urgent_str);
if (!cmd) {
@@ -6208,6 +6204,7 @@
res = ast_play_and_wait(chan, "vm-msgsaved");
}
}
+ DISPOSE(dir, curmsg);
}
/* If anything failed above, we still have this list to free */
@@ -6449,6 +6446,7 @@
snprintf(filename, sizeof(filename), "%s.txt", vms->fn);
RETRIEVE(vms->curdir, vms->curmsg, vmu->mailbox, vmu->context);
+ ast_log(LOG_NOTICE, "I just retrieved %s and %s\n", vms->fn, S_OR(vms->introfn, "No intro"));
msg_cfg = ast_config_load(filename, config_flags);
if (!msg_cfg) {
ast_log(LOG_WARNING, "No message attribute file?!! (%s)\n", filename);
@@ -6563,6 +6561,7 @@
}
}
DISPOSE(vms->curdir, vms->curmsg);
+ ast_log(LOG_NOTICE, "I just disposed of %s and %s\n", vms->fn, S_OR(vms->introfn, "No intro"));
return res;
}
@@ -6571,16 +6570,19 @@
{
char fn[PATH_MAX];
char full_fn[PATH_MAX];
- char msgnums[80];
+ char intro[PATH_MAX] = {0,};
if (msgnum > -1) {
- snprintf(msgnums, sizeof(msgnums), "%d", msgnum);
make_file(fn, sizeof(fn), dir, msgnum);
+ snprintf(intro, sizeof(intro), "%sintro", fn);
} else
ast_copy_string(fn, dir, sizeof(fn));
if ((msgnum < 0 && imapgreetings) || msgnum > -1) {
- ast_filedelete(fn, NULL);
+ ast_filedelete(fn, NULL);
+ if (!ast_strlen_zero(intro)) {
+ ast_filedelete(intro, NULL);
+ }
snprintf(full_fn, sizeof(full_fn), "%s.txt", fn);
unlink(full_fn);
}
More information about the asterisk-commits
mailing list