diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-14 20:48:30 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-14 20:48:30 +0000 |
commit | 51aec737506aeeb32bcd7b14fcf6e783ec0dcb29 (patch) | |
tree | 8f8d4f6a6a1cb0f6508a3902ec8f6a83ea38e0ed /channels/chan_mgcp.c | |
parent | 78fd812eb4498e7b66344f12a307858a3c140326 (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-x | channels/chan_mgcp.c | 15 |
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)) && |