| Commit message (Collapse) | Author | Files | Lines |
|
If a range is "-1", display the whole list. This behavior is
undocumented, but some clients rely on it.
|
|
A song index cannot be negative. Also require the second parameter to
be valid.
|
|
In a range "start:end", "end" itself should not be included. Use the
same semantics as other languages implementing ranges, e.g. Python.
|
|
Loosely based on a patch provided by lesion in bug #1766. The playlistinfo
command can now retrieve ranges of the playlist. The new argument indicates
which entry is the last one that will be displayed. The number of displayed
entries may be smaller than expected if the end of the playlist is reached.
Previous usage:
playlistinfo [start]
New usage:
playlistinfo [start[:end]]
|
|
A range argument looks like start[:end] and is used to specify the entries
of a list that should be returned (rather than the whole list).
|
|
|
|
Don't call command_error() if loading a song from the playlist fails.
This may result in assertion failures, since command_error() may be
called more than once.
|
|
|
|
Check if the URI scheme is supported by MPD, and print an error
message if not. Optimize the checks in "add" and "playlistadd".
|
|
Don't work with argv[1], give it the better name "uri".
|
|
|
|
Due to a typo, adding local files was always denied.
Disable the second playlist_append_file() invocation on WIN32.
|
|
|
|
There are no unix sockets on WIN32, and therefore no authentication.
WIN32 might have similar capabilities, but until we implement them,
disable that MPD feature.
|
|
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
|
|
gmtime_r() is not available.
|
|
When a client-specified URI has a scheme which is not supported, do
not try to open it as a local file, but provide a meaningful error
message.
|
|
printRemoteUrlHandlers() cannot fail, and does not need a return
value.
|
|
We want to remove gcc.h eventually. This takes care of all the G_GNUC_PRINTF
macros.
|
|
|
|
We shouldn't pass strerror() where a format string is expected.
|
|
The client may provide the names of idle events as arguments to the
"idle" command to inform MPD that it is only interested in these
events.
|
|
We don't need to sanitize the path, because the mapper already checks
for malformed paths.
|
|
Replace a custom data structure with a GLib one.
|
|
check_bool() accepts only "0" or "1". The range check is superfluous.
|
|
Due to a logic error, no value was valid for the boolean value
parser. Replace "||" with "&&".
|
|
The function deletePlaylist() shouldn't be in playlist.c.
|
|
The "long" result of strtol() was implicitly casted down to a 32 bit
integer. Add some range checking instead.
|
|
Many command arguments must not be negative; add a separate
parser/checker function for that. For the same reason, add
check_bool(). This eliminates two strange special cases handlers from
check_int().
|
|
There are some integers which have a "magic" -1 value which means
"undefined" or "nothing". All others can be converted to unsigned,
since they must not contain a negative number.
|
|
Instead of returning 0 for success and -1 for failure, return true or
false. This seems more natural.
|
|
Also add names for "error" and "ok". I don't like passing anonymous
integer codes around.
This is not yet complete: lots of functions (e.g. in playlist.c)
follow the same convention of -1/0, and these have to be adapted, too.
|
|
http://xkcd.com/292/
|
|
Eliminate CamelCase in all public and static functions.
|
|
The typedef CommandHandlerFunction is only used once. Move its type
into the command struct.
|
|
|
|
Send last modification timestamps to the client. This allows the
client to see when another client modifies a stored playlist.
|
|
"listplaylists" returns a list of all stored playlists. This command
seems more elaborate than listing them below "lsinfo".
|
|
The function print_spl_list() replaces the old function lsPlaylists()
from ls.c.
|
|
Rename addToStoredPlaylist() to spl_append_uri(), and remove the
clearStoredPlaylist() macro.
|
|
Renamed all public functions, prefix is "spl_".
|
|
No CamelCase in file names.
|
|
The list of commands is known at compile time. Instead of creating a
linked list on startup, we can just register all commands in a static
sorted array.
|
|
The command pointers which are passed around aren't being modified -
in fact, no command pointer must be modified once it has been added to
the commandList.
|
|
No CamelCase and no struct typedefs.
|
|
client->permission is a bit set, and should be unsigned.
|
|
When adding a local file, clients have to use the "file" URI schema
described in RFC 1738 3.10. By adding this schema to "urlhandlers", a
client can detect whether this feature is available.
|
|
The undocumented command "add /" adds the full music database to the
playlist. Don't interpret this special path as a local file path.
|
|
Clients which have authenticated via unix socket may add local files
to the MPD playlist, provided that they own the file.
|
|
Returning the playlist_result value from a command handler does not
make sense. Call print_playlist_result() there, and forward its
return value.
|