Code

conf.c: use g_mkdir for WIN32 compatibility
[ncmpc.git] / src / status_bar.c
index 4ccb6e3e42880fda3e9987f1192e00efb08227fc..c6357f43e6b5f1caab63032d27a96bb30176ab3c 100644 (file)
@@ -1,5 +1,5 @@
 /* ncmpc (Ncurses MPD Client)
- * (c) 2004-2009 The Music Player Daemon Project
+ * (c) 2004-2010 The Music Player Daemon Project
  * Project homepage: http://musicpd.org
  *
  * This program is free software; you can redistribute it and/or modify
@@ -100,12 +100,6 @@ status_bar_paint(struct status_bar *p, const struct mpd_status *status,
 {
        WINDOW *w = p->window.w;
        enum mpd_state state;
-       int elapsedTime = 0;
-#ifdef NCMPC_MINI
-       static char bitrate[1];
-#else
-       char bitrate[16];
-#endif
        const char *str = NULL;
        int x = 0;
        char buffer[p->window.cols * 4 + 1];
@@ -144,19 +138,24 @@ status_bar_paint(struct status_bar *p, const struct mpd_status *status,
 
        /* create time string */
        if (state == MPD_STATE_PLAY || state == MPD_STATE_PAUSE) {
+               int elapsedTime = seek_id >= 0 &&
+                       seek_id == mpd_status_get_song_id(status)
+                       ? (unsigned)seek_target_time
+                       : mpd_status_get_elapsed_time(status);
                int total_time = mpd_status_get_total_time(status);
-               if (total_time > 0) {
+               if (elapsedTime > 0 || total_time > 0) {
+#ifdef NCMPC_MINI
+                       static const char bitrate[1];
+#else
+                       char bitrate[16];
+#endif
                        char elapsed_string[32], duration_string[32];
 
                        /*checks the conf to see whether to display elapsed or remaining time */
-                       if (seek_id >= 0 &&
-                           seek_id == mpd_status_get_song_id(status))
-                               elapsedTime = seek_target_time;
-                       else if (options.display_remaining_time)
-                               elapsedTime = total_time -
-                                       mpd_status_get_elapsed_time(status);
-                       else
-                               elapsedTime = mpd_status_get_elapsed_time(status);
+                       if (options.display_remaining_time)
+                               elapsedTime = elapsedTime < total_time
+                                       ? total_time - elapsedTime
+                                       : 0;
 
                        /* display bitrate if visible-bitrate is true */
 #ifndef NCMPC_MINI