Mercurial > libavformat.hg
diff rtsp.c @ 6175:0e737c9247fd libavformat
RTSP: Remove skip_spaces in favor of strspn
Patch by Josh Allmann, joshua dot allmann at gmail
author | mstorsjo |
---|---|
date | Fri, 25 Jun 2010 07:56:45 +0000 |
parents | 72ea866c62fd |
children | 5708c6d4223d |
line wrap: on
line diff
--- a/rtsp.c Fri Jun 25 04:29:02 2010 +0000 +++ b/rtsp.c Fri Jun 25 07:56:45 2010 +0000 @@ -53,19 +53,6 @@ #define READ_PACKET_TIMEOUT_S 10 #define MAX_TIMEOUTS READ_PACKET_TIMEOUT_S * 1000 / SELECT_TIMEOUT_MS -#define SPACE_CHARS " \t\r\n" -/* we use memchr() instead of strchr() here because strchr() will return - * the terminating '\0' of SPACE_CHARS instead of NULL if c is '\0'. */ -#define redir_isspace(c) memchr(SPACE_CHARS, c, 4) -static void skip_spaces(const char **pp) -{ - const char *p; - p = *pp; - while (redir_isspace(*p)) - p++; - *pp = p; -} - static void get_word_until_chars(char *buf, int buf_size, const char *sep, const char **pp) { @@ -73,7 +60,7 @@ char *q; p = *pp; - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); q = buf; while (!strchr(sep, *p) && *p != '\0') { if ((q - buf) < buf_size - 1) @@ -179,7 +166,7 @@ len = 0; v = 1; for (;;) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); if (*p == '\0') break; c = toupper((unsigned char) *p++); @@ -256,7 +243,7 @@ int ff_rtsp_next_attr_and_value(const char **p, char *attr, int attr_size, char *value, int value_size) { - skip_spaces(p); + *p += strspn(*p, SPACE_CHARS); if (**p) { get_word_sep(attr, attr_size, "=", p); if (**p == '=') @@ -308,7 +295,7 @@ { char buf[256]; - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); if (!av_stristart(p, "npt=", &p)) return; @@ -547,7 +534,7 @@ memset(s1, 0, sizeof(SDPParseState)); p = content; for (;;) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); letter = *p; if (letter == '\0') break; @@ -727,7 +714,7 @@ int v; p = *pp; - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); v = strtol(p, (char **)&p, 10); if (*p == '-') { p++; @@ -754,7 +741,7 @@ reply->nb_transports = 0; for (;;) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); if (*p == '\0') break; @@ -864,22 +851,22 @@ } else if (av_stristart(p, "Range:", &p)) { rtsp_parse_range_npt(p, &reply->range_start, &reply->range_end); } else if (av_stristart(p, "RealChallenge1:", &p)) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); av_strlcpy(reply->real_challenge, p, sizeof(reply->real_challenge)); } else if (av_stristart(p, "Server:", &p)) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); av_strlcpy(reply->server, p, sizeof(reply->server)); } else if (av_stristart(p, "Notice:", &p) || av_stristart(p, "X-Notice:", &p)) { reply->notice = strtol(p, NULL, 10); } else if (av_stristart(p, "Location:", &p)) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); av_strlcpy(reply->location, p , sizeof(reply->location)); } else if (av_stristart(p, "WWW-Authenticate:", &p) && auth_state) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); ff_http_auth_handle_header(auth_state, "WWW-Authenticate", p); } else if (av_stristart(p, "Authentication-Info:", &p) && auth_state) { - skip_spaces(&p); + p += strspn(p, SPACE_CHARS); ff_http_auth_handle_header(auth_state, "Authentication-Info", p); } }