mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-07 13:23:37 +00:00
Fix tport_stamp in the sofia stack to use localtime for the timestamp
This commit is contained in:
parent
40c1053221
commit
713ddc4834
@ -280,12 +280,24 @@ void tport_stamp(tport_t const *self, msg_t *msg,
|
|||||||
char name[SU_ADDRSIZE] = "";
|
char name[SU_ADDRSIZE] = "";
|
||||||
su_sockaddr_t const *su;
|
su_sockaddr_t const *su;
|
||||||
unsigned short second, minute, hour;
|
unsigned short second, minute, hour;
|
||||||
|
/* should check for ifdef HAVE_LOCALTIME_R instead -_- */
|
||||||
|
#if defined(HAVE_GETTIMEOFDAY) || defined(HAVE_CLOCK_MONOTONIC)
|
||||||
|
struct tm nowtm = { 0 };
|
||||||
|
time_t nowtime = (now.tv_sec - SU_TIME_EPOCH); /* see su_time0.c 'now' is not really 'now', so we decrease it by SU_TIME_EPOCH */
|
||||||
|
#endif
|
||||||
|
|
||||||
assert(self); assert(msg);
|
assert(self); assert(msg);
|
||||||
|
|
||||||
|
#if defined(HAVE_GETTIMEOFDAY) || defined(HAVE_CLOCK_MONOTONIC)
|
||||||
|
localtime_r(&nowtime, &nowtm);
|
||||||
|
second = nowtm.tm_sec;
|
||||||
|
minute = nowtm.tm_min;
|
||||||
|
hour = nowtm.tm_hour;
|
||||||
|
#else
|
||||||
second = (unsigned short)(now.tv_sec % 60);
|
second = (unsigned short)(now.tv_sec % 60);
|
||||||
minute = (unsigned short)((now.tv_sec / 60) % 60);
|
minute = (unsigned short)((now.tv_sec / 60) % 60);
|
||||||
hour = (unsigned short)((now.tv_sec / 3600) % 24);
|
hour = (unsigned short)((now.tv_sec / 3600) % 24);
|
||||||
|
#endif
|
||||||
|
|
||||||
su = msg_addr(msg);
|
su = msg_addr(msg);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user