diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-11 15:13:54 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-11 15:13:54 +0000 |
commit | 636da18aef62d45c2a4d5c8375db4e3e9a6a8fa7 (patch) | |
tree | 0897894650d3dde3ed9811ef6d72420445a13423 /apps | |
parent | 177767109c3763492cd688a7f3300fd0eef513f7 (diff) |
Merged revisions 107466 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r107466 | kpfleming | 2008-03-11 10:13:38 -0500 (Tue, 11 Mar 2008) | 10 lines
Merged revisions 107464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r107464 | kpfleming | 2008-03-11 09:53:03 -0500 (Tue, 11 Mar 2008) | 2 lines
fix various other problems found by gcc 4.3
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@107467 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_rpt.c | 8 | ||||
-rw-r--r-- | apps/app_sms.c | 8 |
2 files changed, 7 insertions, 9 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; diff --git a/apps/app_sms.c b/apps/app_sms.c index 717f710e4..2af6a2590 100644 --- a/apps/app_sms.c +++ b/apps/app_sms.c @@ -528,9 +528,10 @@ static void packdate(unsigned char *o, time_t w) } /*! \brief unpack a date and return */ -static time_t unpackdate(unsigned char *i) +static struct timeval unpackdate(unsigned char *i) { - struct tm t; + struct ast_tm t; + t.tm_year = 100 + (i[0] & 0xF) * 10 + (i[0] >> 4); t.tm_mon = (i[1] & 0xF) * 10 + (i[1] >> 4) - 1; t.tm_mday = (i[2] & 0xF) * 10 + (i[2] >> 4); @@ -542,6 +543,7 @@ static time_t unpackdate(unsigned char *i) t.tm_min += 15 * ((i[6] & 0x7) * 10 + (i[6] >> 4)); else t.tm_min -= 15 * ((i[6] & 0x7) * 10 + (i[6] >> 4)); + return ast_mktime(&t, NULL); } @@ -1058,7 +1060,7 @@ static unsigned char sms_handleincoming (sms_t * h) p += unpackaddress(h->oa, h->imsg + p); h->pid = h->imsg[p++]; h->dcs = h->imsg[p++]; - h->scts.tv_sec = unpackdate(h->imsg + p); + h->scts = unpackdate(h->imsg + p); p += 7; p += unpacksms(h->dcs, h->imsg + p, h->udh, &h->udhl, h->ud, &h->udl, h->udhi); h->rx = 1; /* received message */ |