]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - playlist_selector.c
Fix off-by-one bug in playlist handling.
[paraslash.git] / playlist_selector.c
index a497ec13f6919e28a9c2174a069ff9fe3ef84b2b..632e2a2a972c6aa386ff0a67417f554a62354bac 100644 (file)
@@ -142,7 +142,7 @@ int com_ppl(int fd, __a_unused int argc, __a_unused char *argv[])
        unsigned i;
 
        PARA_DEBUG_LOG("sending playlist to client (%d entries)\n", playlist_len);
-       for (i = 0; i < playlist_len; i++) {
+       for (i = 1; i <= playlist_len; i++) {
                int ret = send_va_buffer(fd, "%s\n", playlist[
                        (i + current_playlist_entry) % playlist_len]);
                if (ret < 0)
@@ -217,6 +217,7 @@ static void pls_post_select(__a_unused fd_set *rfds, __a_unused fd_set *wfds)
        PARA_NOTICE_LOG("new playlist (%d entries)\n", playlist_len);
        sprintf(mmd->selector_info, "dbinfo1:new playlist: %d files\n"
                "dbinfo2:\ndbinfo3:\n", playlist_len);
+       current_playlist_entry = playlist_len - 1;
        pcd->retval = 1;
        pcd->size = 0;
        mutex_unlock(pcd->mutex);