-- 
Regards,
Alexander Chemeris.
CEO, Fairwaves, Inc. / ООО УмРадио
https://fairwaves.co
From 44600bbe8d0de88b7fbb2530e12b9122bf6e52df Mon Sep 17 00:00:00 2001
From: Alexander Chemeris <[email protected]>
Date: Fri, 7 Mar 2014 21:02:46 +0100
Subject: [PATCH 5/6] sms: Fix support of negative timezone offsets in
 gsm340_gen_scts().

---
 src/gsm/gsm0411_utils.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gsm/gsm0411_utils.c b/src/gsm/gsm0411_utils.c
index 6272ba3..e884eca 100644
--- a/src/gsm/gsm0411_utils.c
+++ b/src/gsm/gsm0411_utils.c
@@ -85,7 +85,10 @@ void gsm340_gen_scts(uint8_t *scts, time_t time)
 	*scts++ = gsm411_bcdify(tm->tm_min);
 	*scts++ = gsm411_bcdify(tm->tm_sec);
 #ifdef HAVE_TM_GMTOFF_IN_TM
-	*scts++ = gsm411_bcdify(tm->tm_gmtoff/(60*15));
+	if (tm->tm_gmtoff >= 0)
+		*scts++ = gsm411_bcdify(tm->tm_gmtoff/(60*15));
+	else
+		*scts++ = gsm411_bcdify(-tm->tm_gmtoff/(60*15)) | 0x80;
 #else
 #warning find a portable way to obtain timezone offset
 	*scts++ = 0;
-- 
1.7.9.5

Reply via email to