From c4da80e6e0482ac6a7d370df54bc922ee26080aa Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Fri, 22 Oct 2004 19:45:39 +0000
Subject: [PATCH] Fix some callerid output

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_voicemail.c        | 4 ++--
 callerid.c                  | 6 ++++--
 include/asterisk/callerid.h | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index bd01be0fe8..d1bdd8275c 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -764,7 +764,7 @@ static void prep_email_sub_vars(struct ast_channel *ast, struct ast_vm_user *vmu
 	snprintf(passdata, passdatasize, "%d", msgnum);
 	pbx_builtin_setvar_helper(ast, "VM_MSGNUM", passdata);
 	pbx_builtin_setvar_helper(ast, "VM_MAILBOX", mailbox);
-	pbx_builtin_setvar_helper(ast, "VM_CALLERID", ast_callerid_merge(callerid, sizeof(callerid), cidname, cidnum));
+	pbx_builtin_setvar_helper(ast, "VM_CALLERID", ast_callerid_merge(callerid, sizeof(callerid), cidname, cidnum, "Unknown Caller"));
 	pbx_builtin_setvar_helper(ast, "VM_CIDNAME", (cidname ? cidname : "an unknown caller"));
 	pbx_builtin_setvar_helper(ast, "VM_CIDNUM", (cidnum ? cidnum : "an unknown caller"));
 	pbx_builtin_setvar_helper(ast, "VM_DATE", date);
@@ -1395,7 +1395,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, int silent, int
 	chan->exten,
 	chan->priority,
 	chan->name,
-	ast_callerid_merge(callerid, sizeof(callerid), chan->cid.cid_name, chan->cid.cid_num),
+	ast_callerid_merge(callerid, sizeof(callerid), chan->cid.cid_name, chan->cid.cid_num, "Unknown"),
 	date, (long)time(NULL));
 					fclose(txt);
 				} else
diff --git a/callerid.c b/callerid.c
index b5b55e14f6..82b2400481 100755
--- a/callerid.c
+++ b/callerid.c
@@ -679,8 +679,10 @@ int ast_callerid_callwaiting_generate(unsigned char *buf, char *name, char *numb
 	return __ast_callerid_generate(buf, name, number, 1, codec);
 }
 
-char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num)
+char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num, const char *unknown)
 {
+	if (!unknown)
+		unknown = "<unknown>";
 	if (name && num)
 		snprintf(buf, bufsiz, "\"%s\" <%s>", name, num);
 	else if (name) 
@@ -688,7 +690,7 @@ char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *nu
 	else if (num)
 		strncpy(buf, num, bufsiz - 1);
 	else
-		strncpy(buf, "<unknown>", bufsiz - 1);
+		strncpy(buf, unknown, bufsiz - 1);
 	return buf;
 }
 int ast_callerid_split(const char *buf, char *name, int namelen, char *num, int numlen)
diff --git a/include/asterisk/callerid.h b/include/asterisk/callerid.h
index 4008192c8a..a10b2cb7d1 100755
--- a/include/asterisk/callerid.h
+++ b/include/asterisk/callerid.h
@@ -165,7 +165,7 @@ extern int ast_isphonenumber(char *n);
 
 extern int ast_callerid_split(const char *src, char *name, int namelen, char *num, int numlen);
 
-extern char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num);
+extern char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num, const char *unknown);
 
 /*
  * Caller*ID and other GR-30 compatible generation
-- 
GitLab