diff options
author | Max Kellermann <max@duempel.org> | 2008-10-22 19:18:39 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-10-22 19:18:39 +0200 |
commit | 7aca4cd194b8ec2546e598800b153a5009b1792d (patch) | |
tree | 2ca63c289bc733f2b37aceba7e56188a7a3fad07 | |
parent | 9c983c442c03a71bbf80ccbf1dad84894403a983 (diff) | |
download | mpd-7aca4cd194b8ec2546e598800b153a5009b1792d.tar.gz mpd-7aca4cd194b8ec2546e598800b153a5009b1792d.tar.xz mpd-7aca4cd194b8ec2546e598800b153a5009b1792d.zip |
stored_playlist: send timestamps
Send last modification timestamps to the client. This allows the
client to see when another client modifies a stored playlist.
-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); } } |