aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_rpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_rpt.c')
-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 0957af0ea..1246e39e8 100644
--- a/apps/app_rpt.c
+++ b/apps/app_rpt.c
@@ -888,12 +888,8 @@ static void load_rpt_vars(int n, int init)
ast_free(rpt_vars[n].p.tailmsgbuf);
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;