aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/COMMANDS6
-rw-r--r--src/command.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/doc/COMMANDS b/doc/COMMANDS
index 66b014a03..35373a4d5 100644
--- a/doc/COMMANDS
+++ b/doc/COMMANDS
@@ -191,6 +191,12 @@ repeat <int state>
listplaylists
prints a list of the playlist directory
+ After each playlist name, the server sends its last
+ modification time as attribute "Last-Modified" in ISO 8601
+ format. To avoid problems due to clock differences between
+ clients and the server, clients should not compare this value
+ with their local clock.
+
rm <string name>
removes the playlist <name>.m3u from the playlist directory
diff --git a/src/command.c b/src/command.c
index db793350d..4ded86089 100644
--- a/src/command.c
+++ b/src/command.c
@@ -208,8 +208,16 @@ print_spl_list(struct client *client, GPtrArray *list)
for (unsigned i = 0; i < list->len; ++i) {
struct stored_playlist_info *playlist =
g_ptr_array_index(list, i);
+ time_t t;
+ struct tm tm;
+ char timestamp[32];
client_printf(client, "playlist: %s\n", playlist->name);
+
+ t = playlist->mtime;
+ strftime(timestamp, sizeof(timestamp), "%FT%TZ",
+ gmtime_r(&t, &tm));
+ client_printf(client, "Last-Modified: %s\n", timestamp);
}
}