Hopefully the last time I have to correct/patch this bit of code for a
while..
Alex
--
Alex Judd
http://www.skywire.co.uk
Index: gw/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc_smpp.c,v
retrieving revision 1.65
diff -u -r1.65 smsc_smpp.c
--- gw/smsc_smpp.c 22 May 2002 12:08:10 -0000 1.65
+++ gw/smsc_smpp.c 24 May 2002 15:59:00 -0000
@@ -326,20 +326,19 @@
/* work out 1/4 hour difference between local time and UTC/GMT */
gmtime = gw_gmtime(time(NULL));
localtime = gw_localtime(time(NULL));
- if (localtime.tm_hour >= gmtime.tm_hour) {
+ gwqdiff = ((localtime.tm_hour - gmtime.tm_hour) * 4)
+ + ((localtime.tm_min - gmtime.tm_min) / 15);
+ if (gwqdiff >= 0)
relation_UTC_time = octstr_create("+");
- gwqdiff = (localtime.tm_hour - gmtime.tm_hour) * 4;
- } else {
+ else
relation_UTC_time = octstr_create("-");
- gwqdiff = (gmtime.tm_hour - localtime.tm_hour) * 4;
- }
if (msg->sms.validity) {
tm = gw_localtime(time(NULL) + msg->sms.validity * 60);
sprintf(buffer, "%02d%02d%02d%02d%02d%02d0%01d%02d%1s",
tm.tm_year % 100, tm.tm_mon + 1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec,
- 0, gwqdiff, relation_UTC_time );
+ 0, gwqdiff, octstr_get_cstr(relation_UTC_time) );
pdu->u.submit_sm.validity_period = octstr_create(buffer);
}
@@ -348,7 +347,7 @@
sprintf(buffer, "%02d%02d%02d%02d%02d%02d0%01d%02d%1s",
tm.tm_year % 100, tm.tm_mon + 1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec,
- 0, gwqdiff, relation_UTC_time );
+ 0, gwqdiff, octstr_get_cstr(relation_UTC_time) );
pdu->u.submit_sm.schedule_delivery_time = octstr_create(buffer);
}
}