playlist: exclude end of range

In a range "start:end", "end" itself should not be included.  Use the
same semantics as other languages implementing ranges, e.g. Python.
This commit is contained in:
Max Kellermann
2009-01-10 17:05:03 +01:00
parent 6f0781f039
commit b7c4b78846
2 changed files with 2 additions and 2 deletions

View File

@@ -390,7 +390,7 @@ handle_currentsong(struct client *client,
if (song < 0) if (song < 0)
return COMMAND_RETURN_OK; return COMMAND_RETURN_OK;
result = playlistInfo(client, song, song); result = playlistInfo(client, song, song + 1);
return print_playlist_result(client, result); return print_playlist_result(client, result);
} }

View File

@@ -425,7 +425,7 @@ enum playlist_result playlistInfo(struct client *client, int song, int max)
if (song >= (int)playlist.length) if (song >= (int)playlist.length)
return PLAYLIST_RESULT_BAD_RANGE; return PLAYLIST_RESULT_BAD_RANGE;
if (max > 0) { if (max > 0) {
end = MIN((unsigned)(max + 1), playlist.length); end = MIN((unsigned)max, playlist.length);
if (end <= begin) if (end <= begin)
return PLAYLIST_RESULT_BAD_RANGE; return PLAYLIST_RESULT_BAD_RANGE;
} }