diff options
Diffstat (limited to 'apps/app_rpt.c')
-rw-r--r-- | apps/app_rpt.c | 8 |
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; |