From 48ac3ea2371f6b003c51ac7c99cef04c1203c908 Mon Sep 17 00:00:00 2001
From: Jeff Peeler <jpeeler@digium.com>
Date: Wed, 1 Dec 2010 00:28:54 +0000
Subject: [PATCH] Merged revisions 296870 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r296870 | jpeeler | 2010-11-30 18:28:16 -0600 (Tue, 30 Nov 2010) | 18 lines

  Merged revisions 296869 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r296869 | jpeeler | 2010-11-30 18:24:58 -0600 (Tue, 30 Nov 2010) | 11 lines

    Merged revisions 296868 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4

    ........
      r296868 | jpeeler | 2010-11-30 18:23:19 -0600 (Tue, 30 Nov 2010) | 4 lines

      Properly restore backup information file when hanging up during message prepending.

      ABE-2654
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_voicemail.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index c0ac2e8ce0..69777f8aa6 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -7229,6 +7229,16 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st
 #endif
 		}
 		DISPOSE(dir, curmsg);
+#ifndef IMAP_STORAGE
+		if (cmd) { /* assuming hangup, cleanup backup file */
+			make_file(msgfile, sizeof(msgfile), dir, curmsg);
+			strcpy(textfile, msgfile);
+			strcpy(backup_textfile, msgfile);
+			strncat(textfile, ".txt", sizeof(textfile) - strlen(textfile) - 1);
+			strncat(backup_textfile, "-bak.txt", sizeof(backup_textfile) - strlen(backup_textfile) - 1);
+			rename(backup_textfile, textfile);
+		}
+#endif
 	}
 
 	/* If anything failed above, we still have this list to free */
-- 
GitLab