diff options
author | Max Kellermann <max@duempel.org> | 2012-02-09 23:54:31 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-02-09 23:54:31 +0100 |
commit | b0ea3f42619d4d831830502f12340105937bf533 (patch) | |
tree | 77e185a28e1519c1dcdef17a62fc172592b53fa1 /src/playlist_save.c | |
parent | 0103219f00bde7e5177c4bea4a2b9d21a61841ca (diff) | |
download | mpd-b0ea3f42619d4d831830502f12340105937bf533.tar.gz mpd-b0ea3f42619d4d831830502f12340105937bf533.tar.xz mpd-b0ea3f42619d4d831830502f12340105937bf533.zip |
playlist_save: add start/end_index parameters
Diffstat (limited to 'src/playlist_save.c')
-rw-r--r-- | src/playlist_save.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/playlist_save.c b/src/playlist_save.c index b8e03ea85..6571e286c 100644 --- a/src/playlist_save.c +++ b/src/playlist_save.c @@ -112,7 +112,9 @@ spl_save_playlist(const char *name_utf8, const struct playlist *playlist) bool playlist_load_spl(struct playlist *playlist, struct player_control *pc, - const char *name_utf8, GError **error_r) + const char *name_utf8, + unsigned start_index, unsigned end_index, + GError **error_r) { GPtrArray *list; @@ -120,7 +122,10 @@ playlist_load_spl(struct playlist *playlist, struct player_control *pc, if (list == NULL) return false; - for (unsigned i = 0; i < list->len; ++i) { + if (list->len < end_index) + end_index = list->len; + + for (unsigned i = start_index; i < end_index; ++i) { const char *temp = g_ptr_array_index(list, i); if ((playlist_append_uri(playlist, pc, temp, NULL)) != PLAYLIST_RESULT_SUCCESS) { /* for windows compatibility, convert slashes */ |