|
@@ -246,12 +246,16 @@ int pv_get_timenowf(struct sip_msg *msg, pv_param_t *param,
|
|
pv_value_t *res)
|
|
pv_value_t *res)
|
|
{
|
|
{
|
|
str s;
|
|
str s;
|
|
- char t_buf[26] = {0};
|
|
|
|
|
|
+ static char t_buf[26] = {0};
|
|
time_t t;
|
|
time_t t;
|
|
|
|
|
|
t = time(NULL);
|
|
t = time(NULL);
|
|
|
|
|
|
s.s = ctime_r(&t, t_buf);
|
|
s.s = ctime_r(&t, t_buf);
|
|
|
|
+ if(s.s == NULL) {
|
|
|
|
+ return pv_get_null(msg, param, res);
|
|
|
|
+ }
|
|
|
|
+ s.s = t_buf;
|
|
s.len = strlen(s.s)-1;
|
|
s.len = strlen(s.s)-1;
|
|
return pv_get_strintval(msg, param, res, &s, (int)t);
|
|
return pv_get_strintval(msg, param, res, &s, (int)t);
|
|
}
|
|
}
|
|
@@ -271,7 +275,7 @@ int pv_get_timef(struct sip_msg *msg, pv_param_t *param,
|
|
pv_value_t *res)
|
|
pv_value_t *res)
|
|
{
|
|
{
|
|
str s;
|
|
str s;
|
|
- char t_buf[26] = {0};
|
|
|
|
|
|
+ static char t_buf[26] = {0};
|
|
|
|
|
|
if(msg==NULL)
|
|
if(msg==NULL)
|
|
return -1;
|
|
return -1;
|
|
@@ -279,6 +283,10 @@ int pv_get_timef(struct sip_msg *msg, pv_param_t *param,
|
|
msg_set_time(msg);
|
|
msg_set_time(msg);
|
|
|
|
|
|
s.s = ctime_r(&msg->tval.tv_sec, t_buf);
|
|
s.s = ctime_r(&msg->tval.tv_sec, t_buf);
|
|
|
|
+ if(s.s == NULL) {
|
|
|
|
+ return pv_get_null(msg, param, res);
|
|
|
|
+ }
|
|
|
|
+ s.s = t_buf;
|
|
s.len = strlen(s.s)-1;
|
|
s.len = strlen(s.s)-1;
|
|
return pv_get_strintval(msg, param, res, &s, (int)msg->tval.tv_sec);
|
|
return pv_get_strintval(msg, param, res, &s, (int)msg->tval.tv_sec);
|
|
}
|
|
}
|