]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - aft.c
Improve lastplayed time format for ls and stat output.
[paraslash.git] / aft.c
diff --git a/aft.c b/aft.c
index 8a8e5282576dec0f3319bb98685bd0e1df9767c5..8df2bc6091e55945843e7a93b0eec7f4f5cbf2b3 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -677,6 +677,11 @@ static int get_local_time(uint64_t *seconds, char *buf, size_t size,
        time_t current_time, enum ls_listing_mode lm)
 {
        struct tm t;
+       /*
+        * Omit year but show time if the given value is closer to the current
+        * time than this many seconds.
+        */
+       const time_t m = 6 * 30 * 24 * 3600; /* six months */
 
        if (!localtime_r((time_t *)seconds, &t))
                return -E_LOCALTIME;
@@ -685,12 +690,12 @@ static int get_local_time(uint64_t *seconds, char *buf, size_t size,
                        return -E_STRFTIME;
                return 1;
        }
-       if (*seconds + 6 * 30 * 24 * 3600 > current_time) {
+       if (*seconds > current_time - m && *seconds < current_time + m) {
                if (!strftime(buf, size, "%b %e %k:%M", &t))
                        return -E_STRFTIME;
                return 1;
        }
-       if (!strftime(buf, size, "%b %e  %Y", &t))
+       if (!strftime(buf, size, "%b %e %Y", &t))
                return -E_STRFTIME;
        return 1;
 }