aboutsummaryrefslogtreecommitdiffstats
path: root/src/command.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* command: restore the "playlistinfo -1" behaviorMax Kellermann2009-01-111-0/+8
| | | | | If a range is "-1", display the whole list. This behavior is undocumented, but some clients rely on it.
* playlist: pass unsigned integers to playlistInfo()Max Kellermann2009-01-101-10/+26
| | | | | A song index cannot be negative. Also require the second parameter to be valid.
* playlist: exclude end of rangeMax Kellermann2009-01-101-1/+1
| | | | | In a range "start:end", "end" itself should not be included. Use the same semantics as other languages implementing ranges, e.g. Python.
* command: playlistinfo now uses a range argument rather than just a song idThomas Jansen2009-01-101-4/+5
| | | | | | | | | | | | | 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]]
* command: add a parser for range argumentsThomas Jansen2009-01-101-0/+48
| | | | | 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).
* added missing explicit config.h includesMax Kellermann2009-01-081-0/+1
|
* playlist: log errors during loadPlaylist()Max Kellermann2009-01-041-1/+1
| | | | | | 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.
* ls: renamed functions, no CamelCaseMax Kellermann2009-01-041-4/+4
|
* command: check URI scheme in "addid"Max Kellermann2009-01-041-12/+22
| | | | | Check if the URI scheme is supported by MPD, and print an error message if not. Optimize the checks in "add" and "playlistadd".
* command: added variable "uri" to command handlersMax Kellermann2009-01-041-20/+24
| | | | Don't work with argv[1], give it the better name "uri".
* don't include utils.h when it isn't usedMax Kellermann2009-01-031-1/+2
|
* command: fix adding local files on !WIN32Max Kellermann2009-01-031-1/+5
| | | | | | Due to a typo, adding local files was always denied. Disable the second playlist_append_file() invocation on WIN32.
* Moving mixers to audio outputsViliam Mateicka2008-12-311-3/+3
|
* command: don't allow adding local files on WIN32Max Kellermann2008-12-301-0/+4
| | | | | | 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.
* removed os_compat.hMax Kellermann2008-12-291-1/+3
| | | | | Only include headers which are really needed. os_compat.h aimed to make MPD easily portable, but was never actually made portable.
* command: use gmtime() on WIN32Max Kellermann2008-12-291-1/+8
| | | | gmtime_r() is not available.
* command: reject unsupported URI schemesMax Kellermann2008-12-161-1/+11
| | | | | | 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.
* ls: make printRemoteUrlHandlers() return voidMax Kellermann2008-12-161-1/+2
| | | | | printRemoteUrlHandlers() cannot fail, and does not need a return value.
* replaced mpd_printf etc by G_GNUC_PRINTFThomas Jansen2008-12-021-4/+4
| | | | | We want to remove gcc.h eventually. This takes care of all the G_GNUC_PRINTF macros.
* command.c: replaced mpd_unused by G_GNUC_UNUSEDThomas Jansen2008-11-241-63/+63
|
* command: format strerror() with "%s"Max Kellermann2008-11-221-1/+1
| | | | We shouldn't pass strerror() where a format string is expected.
* command: allow clients to subscribe to specific idle eventsMarc Pavot2008-11-221-2/+23
| | | | | | 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.
* path: removed sanitizePathDup()Max Kellermann2008-10-311-4/+2
| | | | | We don't need to sanitize the path, because the mapper already checks for malformed paths.
* client: use GSList instead of struct strnode for command listsMax Kellermann2008-10-311-7/+6
| | | | Replace a custom data structure with a GLib one.
* command: removed range check from check_bool()Max Kellermann2008-10-261-6/+0
| | | | check_bool() accepts only "0" or "1". The range check is superfluous.
* command: fix boolean value parserMax Kellermann2008-10-231-1/+1
| | | | | Due to a logic error, no value was valid for the boolean value parser. Replace "||" with "&&".
* stored_playlist: renamed and moved spl_delete() to stored_playlist.cMax Kellermann2008-10-231-1/+1
| | | | The function deletePlaylist() shouldn't be in playlist.c.
* command: check over/underflows in check_int()Max Kellermann2008-10-231-2/+13
| | | | | The "long" result of strtol() was implicitly casted down to a 32 bit integer. Add some range checking instead.
* command: added check_unsigned() / check_bool()Max Kellermann2008-10-231-13/+57
| | | | | | | 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().
* playlist: unsigned integersMax Kellermann2008-10-231-3/+3
| | | | | | 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.
* command: use the bool datatype instead of intMax Kellermann2008-10-221-50/+51
| | | | | Instead of returning 0 for success and -1 for failure, return true or false. This seems more natural.
* command: converted COMMAND_RETURN_* macros to enumMax Kellermann2008-10-221-163/+165
| | | | | | | | 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.
* command: replaced "goto" with "break"Max Kellermann2008-10-221-2/+2
| | | | http://xkcd.com/292/
* command: no CamelCaseMax Kellermann2008-10-221-227/+247
| | | | Eliminate CamelCase in all public and static functions.
* command: removed CommandHandlerFunction typedefMax Kellermann2008-10-221-3/+1
| | | | | The typedef CommandHandlerFunction is only used once. Move its type into the command struct.
* ack: converted ACK_ERROR_* macros to enumMax Kellermann2008-10-221-2/+2
|
* stored_playlist: send timestampsMax Kellermann2008-10-221-0/+8
| | | | | Send last modification timestamps to the client. This allows the client to see when another client modifies a stored playlist.
* command: added command "listplaylists"Max Kellermann2008-10-221-0/+17
| | | | | "listplaylists" returns a list of all stored playlists. This command seems more elaborate than listing them below "lsinfo".
* command: added print_spl_list()Max Kellermann2008-10-221-2/+18
| | | | | The function print_spl_list() replaces the old function lsPlaylists() from ls.c.
* stored_playlist: de-CamelCase moved functionMax Kellermann2008-10-221-2/+2
| | | | | Rename addToStoredPlaylist() to spl_append_uri(), and remove the clearStoredPlaylist() macro.
* stored_playlist: no CamelCaseMax Kellermann2008-10-221-3/+3
| | | | Renamed all public functions, prefix is "spl_".
* renamed storedPlaylist.c to stored_playlist.cMax Kellermann2008-10-221-1/+1
| | | | No CamelCase in file names.
* command: added "commands" array instead of registering manuallyMax Kellermann2008-10-221-193/+145
| | | | | | 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.
* command: make command pointers constantMax Kellermann2008-10-221-12/+13
| | | | | | 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.
* command: renamed CommandEntry to struct commandMax Kellermann2008-10-221-12/+10
| | | | No CamelCase and no struct typedefs.
* client: converted permissions to unsignedMax Kellermann2008-10-171-7/+7
| | | | client->permission is a bit set, and should be unsigned.
* command: expect "file:///" url for local filesMax Kellermann2008-10-171-4/+7
| | | | | | 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.
* command: special case for "add /"Max Kellermann2008-10-161-1/+1
| | | | | The undocumented command "add /" adds the full music database to the playlist. Don't interpret this special path as a local file path.
* playlist: added support for adding songs not in the music databaseMax Kellermann2008-10-151-1/+17
| | | | | Clients which have authenticated via unix socket may add local files to the MPD playlist, provided that they own the file.
* command: print error message on "addid" failureMax Kellermann2008-10-151-1/+1
| | | | | | Returning the playlist_result value from a command handler does not make sense. Call print_playlist_result() there, and forward its return value.