aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_gtalk.c
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-27 17:10:32 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-27 17:10:32 +0000
commiteca8e139a32d0f4f5ef7344f859aa9dc7cccda1d (patch)
tree80f7f2456cbd9a84caab92c4f83112b29ecc0b9e /channels/chan_gtalk.c
parent866ad4cd51536ce7b85ea3143d86f97a248bf946 (diff)
Don't modify a variable that we don't want modified. Make a copy of it instead.
Issue 10029, patch by phsultan with slight modifications by me (to remove needless casts). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@72125 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_gtalk.c')
-rw-r--r--channels/chan_gtalk.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c
index ee17113e3..6ccadbae7 100644
--- a/channels/chan_gtalk.c
+++ b/channels/chan_gtalk.c
@@ -963,15 +963,14 @@ static struct ast_channel *gtalk_new(struct gtalk *client, struct gtalk_pvt *i,
/* Don't use ast_set_callerid() here because it will
* generate a needless NewCallerID event */
if (!strcasecmp(client->name, "guest")) {
- if (strchr(i->them, '/')) {
- char *aux;
- data = ast_strdupa((char *)i->them);
- aux = data;
- cid = strsep(&aux, "/");
+ data = ast_strdupa(i->them);
+ if (strchr(data, '/')) {
+ cid = strsep(&data, "/");
} else
- cid = i->them;
+ cid = data;
} else {
- cid = client->user;
+ data = ast_strdupa(client->user);
+ cid = data;
}
cid = strsep(&cid, "@");
tmp->cid.cid_num = ast_strdup(cid);