summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2010-10-01 17:44:42 +0400
committerAndrey Nazarov <skuller@skuller.net>2010-10-01 17:44:42 +0400
commite3a2946e3793906c3f3018969872e392b07ba10f (patch)
tree84be20a6d0977052ff4ba9e1c868597e191856d5
parent57ff04fceb133d7c06c67bf991b5941766bb28da (diff)
Made Com_TimeDiff autocorrect the passed value.
-rw-r--r--src/com_local.h4
-rw-r--r--src/common.c31
-rw-r--r--src/sv_ccmds.c4
3 files changed, 14 insertions, 25 deletions
diff --git a/src/com_local.h b/src/com_local.h
index 94bd28f..fc28dd8 100644
--- a/src/com_local.h
+++ b/src/com_local.h
@@ -524,9 +524,9 @@ qboolean Prompt_AddMatch( genctx_t *ctx, const char *s );
size_t Com_FormatTime( char *buffer, size_t size, time_t t );
size_t Com_FormatTimeLong( char *buffer, size_t size, time_t t );
size_t Com_TimeDiff( char *buffer, size_t size,
- time_t start, time_t end );
+ time_t *p, time_t now );
size_t Com_TimeDiffLong( char *buffer, size_t size,
- time_t start, time_t end );
+ time_t *p, time_t now );
size_t Com_Time_m( char *buffer, size_t size );
size_t Com_Uptime_m( char *buffer, size_t size );
diff --git a/src/common.c b/src/common.c
index 41014bf..270269c 100644
--- a/src/common.c
+++ b/src/common.c
@@ -1339,27 +1339,26 @@ size_t Com_FormatTimeLong( char *buffer, size_t size, time_t t ) {
return len;
}
-size_t Com_TimeDiff( char *buffer, size_t size, time_t start, time_t end ) {
+size_t Com_TimeDiff( char *buffer, size_t size, time_t *p, time_t now ) {
time_t diff;
- if( start > end ) {
- start = end;
+ if( *p > now ) {
+ *p = now;
}
- diff = end - start;
+ diff = now - *p;
return Com_FormatTime( buffer, size, diff );
}
-size_t Com_TimeDiffLong( char *buffer, size_t size, time_t start, time_t end ) {
+size_t Com_TimeDiffLong( char *buffer, size_t size, time_t *p, time_t now ) {
time_t diff;
- if( start > end ) {
- start = end;
+ if( *p > now ) {
+ *p = now;
}
- diff = end - start;
+ diff = now - *p;
return Com_FormatTimeLong( buffer, size, diff );
}
-
/*
==============================================================================
@@ -1368,30 +1367,20 @@ size_t Com_TimeDiffLong( char *buffer, size_t size, time_t start, time_t end ) {
==============================================================================
*/
-/*
-=============
-Com_Time_m
-=============
-*/
size_t Com_Time_m( char *buffer, size_t size ) {
return format_local_time( buffer, size, com_time_format->string );
}
-/*
-=============
-Com_Date_m
-=============
-*/
static size_t Com_Date_m( char *buffer, size_t size ) {
return format_local_time( buffer, size, com_date_format->string );
}
size_t Com_Uptime_m( char *buffer, size_t size ) {
- return Com_TimeDiff( buffer, size, com_startTime, time( NULL ) );
+ return Com_TimeDiff( buffer, size, &com_startTime, time( NULL ) );
}
size_t Com_UptimeLong_m( char *buffer, size_t size ) {
- return Com_TimeDiffLong( buffer, size, com_startTime, time( NULL ) );
+ return Com_TimeDiffLong( buffer, size, &com_startTime, time( NULL ) );
}
static size_t Com_Random_m( char *buffer, size_t size ) {
diff --git a/src/sv_ccmds.c b/src/sv_ccmds.c
index d442687..8bbd776 100644
--- a/src/sv_ccmds.c
+++ b/src/sv_ccmds.c
@@ -517,7 +517,7 @@ static void dump_time( void ) {
FOR_EACH_CLIENT( client ) {
Com_TimeDiff( buffer, sizeof( buffer ),
- client->connect_time, clock );
+ &client->connect_time, clock );
Com_Printf( "%3i %-15.15s %s\n",
client->number, client->name, buffer );
}
@@ -710,7 +710,7 @@ static void SV_DumpUser_f( void ) {
Com_Printf( "packetdup %d\n", sv_client->numpackets - 1 );
#endif
Com_TimeDiff( buffer, sizeof( buffer ),
- sv_client->connect_time, time( NULL ) );
+ &sv_client->connect_time, time( NULL ) );
Com_Printf( "connection time %s\n", buffer );
sv_client = NULL;