提交 1ef36a70 编写于 作者: R Ronald S. Bultje

Merge functional code from get_word() and get_word_sep() into a single

function, since they both do approximately the same thing. At the same time,
remove redir_isspace() altogether since code elsewhere (including
get_word_sep()) uses strchr() for the same purpose. See summary in "[PATCH]
rtsp.c small cleanups" thread.

Originally committed as revision 18122 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 7e726132
......@@ -57,11 +57,8 @@ static int rtsp_probe(AVProbeData *p)
return 0;
}
static int redir_isspace(int c)
{
return c == ' ' || c == '\t' || c == '\n' || c == '\r';
}
#define SPACE_CHARS " \t\r\n"
#define redir_isspace(c) strchr(SPACE_CHARS, c)
static void skip_spaces(const char **pp)
{
const char *p;
......@@ -71,15 +68,13 @@ static void skip_spaces(const char **pp)
*pp = p;
}
static void get_word_sep(char *buf, int buf_size, const char *sep,
const char **pp)
static void get_word_until_chars(char *buf, int buf_size,
const char *sep, const char **pp)
{
const char *p;
char *q;
p = *pp;
if (*p == '/')
p++;
skip_spaces(&p);
q = buf;
while (!strchr(sep, *p) && *p != '\0') {
......@@ -92,22 +87,16 @@ static void get_word_sep(char *buf, int buf_size, const char *sep,
*pp = p;
}
static void get_word(char *buf, int buf_size, const char **pp)
static void get_word_sep(char *buf, int buf_size, const char *sep,
const char **pp)
{
const char *p;
char *q;
if (**pp == '/') (*pp)++;
get_word_until_chars(buf, buf_size, sep, pp);
}
p = *pp;
skip_spaces(&p);
q = buf;
while (!redir_isspace(*p) && *p != '\0') {
if ((q - buf) < buf_size - 1)
*q++ = *p;
p++;
}
if (buf_size > 0)
*q = '\0';
*pp = p;
static void get_word(char *buf, int buf_size, const char **pp)
{
get_word_until_chars(buf, buf_size, SPACE_CHARS, pp);
}
/* parse the rtpmap description: <codec_name>/<clock_rate>[/<other
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册