summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2008-03-11 15:13:38 +0000
committerKevin P. Fleming <kpfleming@digium.com>2008-03-11 15:13:38 +0000
commit4925e7b835eec4b0a23238844fc46db1f6d954f6 (patch)
tree2448703f04044556b3beea76b57ecf63f15e2d16 /apps
parentf26ed3f4bfc1cdb8d9c7fe3bb3b36f98ab48145b (diff)
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: https://origsvn.digium.com/svn/asterisk/trunk@107466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_rpt.c8
-rw-r--r--apps/app_sms.c8
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 */