Fixed bug with elapsed time when away if computer clock was changed (displays 0 if elapsed time is negative)

This commit is contained in:
Sebastien Helleu 2006-01-26 16:49:21 +00:00
parent 0e91f0c208
commit 99a3434733
2 changed files with 8 additions and 4 deletions

View File

@ -234,7 +234,7 @@ irc_send_away (t_irc_server *server, char *arguments)
{ {
char *string, buffer[4096]; char *string, buffer[4096];
t_gui_window *ptr_window; t_gui_window *ptr_window;
time_t elapsed; time_t time_now, elapsed;
if (arguments) if (arguments)
{ {
@ -269,7 +269,9 @@ irc_send_away (t_irc_server *server, char *arguments)
server->is_away = 0; server->is_away = 0;
if (server->away_time != 0) if (server->away_time != 0)
{ {
elapsed = time (NULL) - server->away_time; time_now = time (NULL);
elapsed = (time_now >= server->away_time) ?
time_now - server->away_time : 0;
server->away_time = 0; server->away_time = 0;
if (cfg_irc_display_away != CFG_IRC_DISPLAY_AWAY_OFF) if (cfg_irc_display_away != CFG_IRC_DISPLAY_AWAY_OFF)
{ {

View File

@ -234,7 +234,7 @@ irc_send_away (t_irc_server *server, char *arguments)
{ {
char *string, buffer[4096]; char *string, buffer[4096];
t_gui_window *ptr_window; t_gui_window *ptr_window;
time_t elapsed; time_t time_now, elapsed;
if (arguments) if (arguments)
{ {
@ -269,7 +269,9 @@ irc_send_away (t_irc_server *server, char *arguments)
server->is_away = 0; server->is_away = 0;
if (server->away_time != 0) if (server->away_time != 0)
{ {
elapsed = time (NULL) - server->away_time; time_now = time (NULL);
elapsed = (time_now >= server->away_time) ?
time_now - server->away_time : 0;
server->away_time = 0; server->away_time = 0;
if (cfg_irc_display_away != CFG_IRC_DISPLAY_AWAY_OFF) if (cfg_irc_display_away != CFG_IRC_DISPLAY_AWAY_OFF)
{ {