diff --git a/modules/acc/acc.c b/modules/acc/acc.c index 430dca5e25b..8d0d01c9c95 100644 --- a/modules/acc/acc.c +++ b/modules/acc/acc.c @@ -443,6 +443,7 @@ int acc_db_request( struct sip_msg *rq) int i; int o; struct tm *t; + double dtime; /* formated database columns */ m = core2strar( rq, val_arr, int_arr, type_arr ); @@ -458,8 +459,9 @@ int acc_db_request( struct sip_msg *rq) VAL_INT(db_vals+(m++)) = (int)acc_env.tv.tv_usec; i++; } else if(acc_time_mode==2) { - VAL_DOUBLE(db_vals+(m++)) = ((double)(acc_env.tv.tv_sec * 1000) - + (acc_env.tv.tv_usec / 1000)) / 1000; + dtime = (double)acc_env.tv.tv_usec; + dtime = (dtime / 1000000) + (double)acc_env.tv.tv_sec; + VAL_DOUBLE(db_vals+(m++)) = dtime; i++; } else if(acc_time_mode==3 || acc_time_mode==4) { if(acc_time_mode==3) {