mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 03:59:01 +00:00
Don't strip bracketed hyphens (bug #2608)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
21
callerid.c
21
callerid.c
@@ -574,9 +574,26 @@ int callerid_generate(unsigned char *buf, char *number, char *name, int flags, i
|
|||||||
void ast_shrink_phone_number(char *n)
|
void ast_shrink_phone_number(char *n)
|
||||||
{
|
{
|
||||||
int x,y=0;
|
int x,y=0;
|
||||||
for (x=0;n[x];x++)
|
int bracketed=0;
|
||||||
if (!strchr("( )-.", n[x]))
|
for (x=0;n[x];x++) {
|
||||||
|
switch(n[x]) {
|
||||||
|
case '[':
|
||||||
|
bracketed++;
|
||||||
n[y++] = n[x];
|
n[y++] = n[x];
|
||||||
|
break;
|
||||||
|
case ']':
|
||||||
|
bracketed--;
|
||||||
|
n[y++] = n[x];
|
||||||
|
break;
|
||||||
|
case '-':
|
||||||
|
if (bracketed)
|
||||||
|
n[y++] = n[x];
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (!strchr("( ).", n[x]))
|
||||||
|
n[y++] = n[x];
|
||||||
|
}
|
||||||
|
}
|
||||||
n[y] = '\0';
|
n[y] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user