aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--src/song_print.c17
2 files changed, 19 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index fc702032a..a8828d345 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
ver 0.16 (20??/??/??)
+* protocol:
+ - send song modification time to client
* decoders:
- ffmpeg: support multiple tags
* mixers:
diff --git a/src/song_print.c b/src/song_print.c
index 64ab9f6b1..2efae9b89 100644
--- a/src/song_print.c
+++ b/src/song_print.c
@@ -50,6 +50,23 @@ song_print_info(struct client *client, struct song *song)
{
song_print_url(client, song);
+ if (song->mtime > 0) {
+ time_t t = song->mtime;
+#ifndef G_OS_WIN32
+ struct tm tm;
+#endif
+ char timestamp[32];
+
+ strftime(timestamp, sizeof(timestamp), "%FT%TZ",
+#ifdef G_OS_WIN32
+ gmtime(&t)
+#else
+ gmtime_r(&t, &tm)
+#endif
+ );
+ client_printf(client, "Last-Modified: %s\n", timestamp);
+ }
+
if (song->tag)
tag_print(client, song->tag);