aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_mgcp.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-04-14 20:48:30 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-04-14 20:48:30 +0000
commit51aec737506aeeb32bcd7b14fcf6e783ec0dcb29 (patch)
tree8f8d4f6a6a1cb0f6508a3902ec8f6a83ea38e0ed /channels/chan_mgcp.c
parent78fd812eb4498e7b66344f12a307858a3c140326 (diff)
Trim down gateway names with []'s in them
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@850 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_mgcp.c')
-rwxr-xr-xchannels/chan_mgcp.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index 96c67ecf3..0975072b5 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -448,7 +448,7 @@ static int mgcp_audit_endpoint(int fd, int argc, char *argv[])
struct mgcp_gateway *g;
struct mgcp_endpoint *e;
int found = 0;
- char *ename,*gname;
+ char *ename,*gname, *c;
if (!mgcpdebug) {
return RESULT_SHOWUSAGE;
}
@@ -465,7 +465,10 @@ static int mgcp_audit_endpoint(int fd, int argc, char *argv[])
}
gname++;
}
-
+ if (gname[0] == '[')
+ gname++;
+ if ((c = strrchr(gname, ']')))
+ *c = '\0';
ast_pthread_mutex_lock(&gatelock);
g = gateways;
while(g) {
@@ -778,7 +781,7 @@ static struct mgcp_endpoint *find_endpoint(char *name, int msgid, struct sockadd
struct mgcp_endpoint *p = NULL;
struct mgcp_gateway *g;
char tmp[256] = "";
- char *at = NULL;
+ char *at = NULL, *c;
if (name) {
strncpy(tmp, name, sizeof(tmp) - 1);
at = strchr(tmp, '@');
@@ -790,6 +793,12 @@ static struct mgcp_endpoint *find_endpoint(char *name, int msgid, struct sockadd
at++;
}
ast_pthread_mutex_lock(&gatelock);
+ if (at && (at[0] == '[')) {
+ at++;
+ c = strrchr(at, ']');
+ if (c)
+ *c = '\0';
+ }
g = gateways;
while(g) {
if ((!name || !strcasecmp(g->name, at)) &&