[MPlayer-cvslog] r25347 - in trunk/input: input.c input.h
ulion
subversion at mplayerhq.hu
Tue Dec 11 09:03:48 CET 2007
Author: ulion
Date: Tue Dec 11 09:03:47 2007
New Revision: 25347
Log:
Add new function for parsing and queueing multi-commands separated by \n or \r.
Modified:
trunk/input/input.c
trunk/input/input.h
Modified: trunk/input/input.c
==============================================================================
--- trunk/input/input.c (original)
+++ trunk/input/input.c Tue Dec 11 09:03:47 2007
@@ -21,6 +21,7 @@
#include "osdep/getch2.h"
#include "osdep/keycodes.h"
#include "osdep/timer.h"
+#include "avstring.h"
#include "mp_msg.h"
#include "help_mp.h"
#include "m_config.h"
@@ -707,6 +708,28 @@ void mp_input_rm_event_fd(int fd)
mp_input_rm_key_fd(fd);
}
+int mp_input_parse_and_queue_cmds(const char *str) {
+ int cmd_num = 0;
+
+ while (*str == '\n' || *str == '\r' || *str == ' ')
+ ++str;
+ while (*str) {
+ mp_cmd_t *cmd;
+ size_t len = strcspn(str, "\r\n");
+ char *cmdbuf = malloc(len+1);
+ av_strlcpy(cmdbuf, str, len+1);
+ cmd = mp_input_parse_cmd(cmdbuf);
+ if (cmd) {
+ mp_input_queue_cmd(cmd);
+ ++cmd_num;
+ }
+ str += len;
+ while (*str == '\n' || *str == '\r' || *str == ' ')
+ ++str;
+ free(cmdbuf);
+ }
+ return cmd_num;
+}
mp_cmd_t*
mp_input_parse_cmd(char* str) {
Modified: trunk/input/input.h
==============================================================================
--- trunk/input/input.h (original)
+++ trunk/input/input.h Tue Dec 11 09:03:47 2007
@@ -255,6 +255,12 @@ mp_input_get_cmd(int time, int paused, i
mp_cmd_t*
mp_input_parse_cmd(char* str);
+/**
+ * Parse and queue commands separated by '\n'.
+ * @return count of commands new queued.
+ */
+int mp_input_parse_and_queue_cmds(const char *str);
+
/// These filters allow you to process the command before MPlayer.
/// If a filter returns a true value mp_input_get_cmd will return NULL.
void
More information about the MPlayer-cvslog
mailing list