diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2009-03-21 20:54:47 +0000 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2009-03-21 20:54:47 +0000 |
commit | 1ef36a7035e7eb3bd9a365bccf240fac29d19e62 (patch) | |
tree | 3f75dda153018c6158afe95de596c0733ebe24dc | |
parent | 7e726132c23f4885c877189889c3f2171b1248de (diff) | |
download | ffmpeg-1ef36a7035e7eb3bd9a365bccf240fac29d19e62.tar.gz |
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
-rw-r--r-- | libavformat/rtsp.c | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 3907eb4b93..769d2021fe 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -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 |