osaf/services/saf/logsv/lgs/lgs_fmt.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
Wrong processing for timezone with having negative gmt offset.
diff --git a/osaf/services/saf/logsv/lgs/lgs_fmt.c
b/osaf/services/saf/logsv/lgs/lgs_fmt.c
--- a/osaf/services/saf/logsv/lgs/lgs_fmt.c
+++ b/osaf/services/saf/logsv/lgs/lgs_fmt.c
@@ -706,7 +706,9 @@ static int extractCommonField(char *dest
/* Get timezone offset from localtime to UTC time */
long gmtOffset = (timeStampData->tm_gmtoff / SECOND_PER_HOUR) *
100 +
(timeStampData->tm_gmtoff % SECOND_PER_HOUR) /
SECOND_PER_MINUTE;
- characters = snprintf(dest, dest_size, "%c%04ld", gmtOffset >=
0 ? '+' : '-', gmtOffset);
+
+ long uGmtOffset = (gmtOffset >= 0) ? (gmtOffset) : (gmtOffset *
-1);
+ characters = snprintf(dest, dest_size, "%c%04ld", gmtOffset >=
0 ? '+' : '-', uGmtOffset);
break;
case C_NOTIFICATION_CLASS_ID_LETTER:
@@ -982,7 +984,9 @@ static int extractNotificationField(char
characters = 6; /* to avoid using {} */
long gmtOffset = (eventTimeData->tm_gmtoff / SECOND_PER_HOUR) *
100 +
(eventTimeData->tm_gmtoff % SECOND_PER_HOUR) /
SECOND_PER_MINUTE;
- characters = snprintf(dest, dest_size, "%c%04ld", gmtOffset >=
0 ? '+' : '-', gmtOffset);
+
+ long uGmtOffset = (gmtOffset >= 0) ? (gmtOffset) : (gmtOffset *
-1);
+ characters = snprintf(dest, dest_size, "%c%04ld", gmtOffset >=
0 ? '+' : '-', uGmtOffset);
break;
case N_EVENT_TYPE_LETTER:
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel