diff options
Diffstat (limited to '')
-rw-r--r-- | doc/COMMANDS | 6 | ||||
-rw-r--r-- | src/command.c | 8 |
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); } } |