From 6d951bda65d9048a15368b67381c1d3d6c5e4430 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sat, 20 Feb 2010 19:42:01 +0200 Subject: [PATCH] msecstotimestr: fix negative numbers handling --- src/misc/mtime.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/misc/mtime.c b/src/misc/mtime.c index e6f9da637a..b85c7ef0e3 100644 --- a/src/misc/mtime.c +++ b/src/misc/mtime.c @@ -127,6 +127,13 @@ char *mstrtime( char *psz_buffer, mtime_t date ) */ char *secstotimestr( char *psz_buffer, int32_t i_seconds ) { + if( unlikely(i_seconds < 0) ) + { + secstotimestr( psz_buffer + 1, -i_seconds ); + *psz_buffer = '-'; + return psz_buffer; + } + div_t d; d = div( i_seconds, 60 ); @@ -137,8 +144,8 @@ char *secstotimestr( char *psz_buffer, int32_t i_seconds ) snprintf( psz_buffer, MSTRTIME_MAX_SIZE, "%u:%02u:%02u", d.quot, d.rem, i_seconds ); else - snprintf( psz_buffer, MSTRTIME_MAX_SIZE, "%02u:%02u", - d.rem, i_seconds ); + snprintf( psz_buffer, MSTRTIME_MAX_SIZE, "%02u:%02u", + d.rem, i_seconds ); return psz_buffer; } -- 2.39.5