aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-15 22:12:39 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-15 22:12:39 +0000
commitb9f588ea3f62786824da4dbbbba8931ec0b5b919 (patch)
treeb5099bf263ab02547f8f20264fe8f3457c7f4a88
parent7f1b7df4671116991bfbd28e8dcf049097af0708 (diff)
Merged revisions 188647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r188647 | dvossel | 2009-04-15 17:10:04 -0500 (Wed, 15 Apr 2009) | 18 lines Merged revisions 188646 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188646 | dvossel | 2009-04-15 17:08:40 -0500 (Wed, 15 Apr 2009) | 12 lines National prefix inserted even when caller ID not available When the caller ID is restricted, the expected behavior is for the caller id to be blank. In chan_dahdi, the national prefix is placed onto the callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank. (closes issue #13207) Reported by: shawkris Patches: national_prefix.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/220/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@188649 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_dahdi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 18142b7a2..50ccb22ac 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -9887,6 +9887,12 @@ static void ss7_start_call(struct dahdi_pvt *p, struct dahdi_ss7 *linkset)
static void ss7_apply_plan_to_number(char *buf, size_t size, const struct dahdi_ss7 *ss7, const char *number, const unsigned nai)
{
+ if (ast_strlen_zero(number)) { /* make sure a number exists so prefix isn't placed on an empty string */
+ if (size) {
+ *buf = '\0';
+ }
+ return;
+ }
switch (nai) {
case SS7_NAI_INTERNATIONAL:
snprintf(buf, size, "%s%s", ss7->internationalprefix, number);
@@ -10792,6 +10798,12 @@ static void apply_plan_to_number(char *buf, size_t size, const struct dahdi_pri
snprintf(buf, size, "%s", number);
return;
}
+ if (ast_strlen_zero(number)) { /* make sure a number exists so prefix isn't placed on an empty string */
+ if (size) {
+ *buf = '\0';
+ }
+ return;
+ }
switch (plan) {
case PRI_INTERNATIONAL_ISDN: /* Q.931 dialplan == 0x11 international dialplan => prepend international prefix digits */
snprintf(buf, size, "%s%s", pri->internationalprefix, number);