On Sat, Feb 13, 2016 at 03:22:52PM +0100, Stefano Sabatini wrote: > On date Thursday 2016-02-11 20:49:05 +0100, Michael Niedermayer encoded: > > This will extend the whitelist features to allow blacklisting individual > > protocols and to > > explicitly force everything to be enabled. > > > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > > --- > > libavutil/avstring.c | 15 ++++++++++----- > > libavutil/avstring.h | 5 +++++ > > 2 files changed, 15 insertions(+), 5 deletions(-) > > Nit: bump micro
done > > > > > diff --git a/libavutil/avstring.c b/libavutil/avstring.c > > index 57fe74d..85fb3e9 100644 > > --- a/libavutil/avstring.c > > +++ b/libavutil/avstring.c > > @@ -326,13 +326,18 @@ int av_match_name(const char *name, const char *names) > > return 0; > > > > namelen = strlen(name); > > - while ((p = strchr(names, ','))) { > > + while (*names) { > > + int negate = '-' == *names; > > + p = strchr(names, ','); > > + if (!p) > > + p = names + strlen(names); > > + names += negate; > > len = FFMAX(p - names, namelen); > > - if (!av_strncasecmp(name, names, len)) > > - return 1; > > - names = p + 1; > > + if (!av_strncasecmp(name, names, len) || !strncmp("ALL", names, > > FFMAX(3, p - names))) > > + return !negate; > > So we have: > > av_match_name("foo", "foo") => 1 > av_match_name("foo", "ALL") => 1 > av_match_name("foo", "-foo") => 0 > av_match_name("foo", "ALL,-foo") => 1 > av_match_name("foo", "-foo,ALL") => 0 > > Is this correct? yes, thats the intent > > > + names = p + (*p == ','); > > } > > - return !av_strcasecmp(name, names); > > + return 0; > > } > > > int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t > > *buf_end, > > diff --git a/libavutil/avstring.h b/libavutil/avstring.h > > index a46d012..ea08d4f 100644 > > --- a/libavutil/avstring.h > > +++ b/libavutil/avstring.h > > @@ -284,6 +284,11 @@ const char *av_dirname(char *path); > > > > /** > > * Match instances of a name in a comma-separated list of names. > > > + * List entries are checked from 0 to the end of the names list, > > from 0 => from the start > > > + * the first match ends further proessing. If a entry prefixed with '-' > > + * matches than 0 is returned. the "ALL" list entry is considered to > > + * match all names. > > With typo-check on and my suggestion, this becomes: > > * the first match ends further processing. If an entry prefixed with '-' > * matches, then 0 is returned. The "ALL" list entry is considered to > * match all names. > > LGTM otherwise, thanks. all chaneges made applied thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Republics decline into democracies and democracies degenerate into despotisms. -- Aristotle
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel