aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-11 15:18:45 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-11 15:18:45 +0000
commitb03904364125184701f45b43b53e98c5221081f5 (patch)
treec1a7d4779c87477428ac8aa89f524fda72da185e /apps
parentdef35749cea03f9153b72e4aa6c0e2f2c74df887 (diff)
backport a fix from trunk
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@107472 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_rpt.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/apps/app_rpt.c b/apps/app_rpt.c
index 292dfc6f6..952fdd0b1 100644
--- a/apps/app_rpt.c
+++ b/apps/app_rpt.c
@@ -1646,12 +1646,8 @@ static char *cs_keywords[] = {"rptena","rptdis","apena","apdis","lnkena","lnkdis
memset(&rpt_vars[n].p,0,sizeof(rpt_vars[n].p));
if (init)
{
- char *cp;
- int savearea = (char *)&rpt_vars[n].p - (char *)&rpt_vars[n];
-
- cp = (char *) &rpt_vars[n].p;
- memset(cp + sizeof(rpt_vars[n].p),0,
- sizeof(rpt_vars[n]) - (sizeof(rpt_vars[n].p) + savearea));
+ /* clear all the fields in the structure after 'p' */
+ memset(&rpt_vars[n].p + sizeof(rpt_vars[0].p), 0, sizeof(rpt_vars[0]) - sizeof(rpt_vars[0].p) - offsetof(typeof(rpt_vars[0]), p));
rpt_vars[n].tele.next = &rpt_vars[n].tele;
rpt_vars[n].tele.prev = &rpt_vars[n].tele;
rpt_vars[n].rpt_thread = AST_PTHREADT_NULL;