mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Use strrchr() so SoftHangup will correctly truncate multi-hyphen channel names
In general channel names are in the form Foo/Bar-Z, but the channel name could have multiple hyphens and look like Foo/B-a-r-Z. Use strrchr to truncate the channel name at the last hyphen. (closes issue #15810) Reported by: dhubbard Patches: dw-softhangup-1.4.patch uploaded by dhubbard (license 733) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@215270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -79,11 +79,13 @@ static int softhangup_exec(struct ast_channel *chan, void *data)
|
||||
/* XXX watch out, i think it is wrong to access c-> after unlocking! */
|
||||
if (all) {
|
||||
/* CAPI is set up like CAPI[foo/bar]/clcnt */
|
||||
if (!strcmp(c->tech->type, "CAPI"))
|
||||
if (!strcmp(c->tech->type, "CAPI")) {
|
||||
cut = strrchr(name,'/');
|
||||
/* Basically everything else is Foo/Bar-Z */
|
||||
else
|
||||
cut = strchr(name,'-');
|
||||
} else {
|
||||
/* use strrchr() because Foo/Bar-Z could actually be Foo/B-a-r-Z */
|
||||
cut = strrchr(name,'-');
|
||||
}
|
||||
/* Get rid of what we've cut */
|
||||
if (cut)
|
||||
*cut = 0;
|
||||
|
Reference in New Issue
Block a user