From da1e126e0db3eda68153bb8130947adba8236034 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Tue, 24 Mar 2009 03:24:59 +0000 Subject: strchr(string, '\0') returns non-NULL, and is thus not suited for use in redir_isspace(char) to check if '\0' is a space or not. Therefore, we now use memchr(), since then we can give the length of the string (i.e. the length excluding the terminating '\0'). Fixes issue 919, see also the follow-ups in the "[PATCH] rtsp.c small cleanups" mailinglist thread. Originally committed as revision 18177 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtsp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index c9e60dd59e..758314f097 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -55,7 +55,9 @@ static int rtsp_probe(AVProbeData *p) } #define SPACE_CHARS " \t\r\n" -#define redir_isspace(c) strchr(SPACE_CHARS, c) +/* 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; -- cgit v1.2.3