summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-10-19 21:43:08 +0200
committerwm4 <wm4@nowhere>2014-10-19 22:34:37 +0200
commitd089772b69807b0a66e56f6501d2ecf3d70e0114 (patch)
tree1b39dccacf3e961e5c3ed576f3d5ef2165380ab9
parentcf627fd3de180f0cb0173e016f160de8399cd692 (diff)
downloadmpv-d089772b69807b0a66e56f6501d2ecf3d70e0114.tar.bz2
mpv-d089772b69807b0a66e56f6501d2ecf3d70e0114.tar.xz
ipc: skip empty and commented lines
-rw-r--r--DOCS/man/ipc.rst6
-rw-r--r--input/ipc.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/DOCS/man/ipc.rst b/DOCS/man/ipc.rst
index f0c6004006..e377e2e881 100644
--- a/DOCS/man/ipc.rst
+++ b/DOCS/man/ipc.rst
@@ -49,7 +49,11 @@ can also be present. See `List of events`_ for a list of all supported events.
If the first character (after skipping whitespace) is not ``{``, the command
will be interpreted as non-JSON text command, as they are used in input.conf
-(or ``mpv_command_string()`` in the client API).
+(or ``mpv_command_string()`` in the client API). Additionally, line starting
+with ``#`` and empty lines are ignored.
+
+Currently, embedded 0 bytes terminate the current line, but you should not
+rely on this.
Commands
--------
diff --git a/input/ipc.c b/input/ipc.c
index 64c4bac87b..a64be27de3 100644
--- a/input/ipc.c
+++ b/input/ipc.c
@@ -557,8 +557,10 @@ static void *client_thread(void *p)
json_skip_whitespace(&line0);
- char *reply_msg;
- if (line0[0] == '{') {
+ char *reply_msg = NULL;
+ if (line0[0] == '\0' || line0[0] == '#') {
+ // skip
+ } else if (line0[0] == '{') {
reply_msg = json_execute_command(arg, tmp, line0);
} else {
reply_msg = text_execute_command(arg, tmp, line0);