[FFmpeg-devel] [PATCH 2/4] Make strmatch() return 1 only if the string compared against the prefix does not contain other characters which may belong to an identifier.
Stefano Sabatini
stefano.sabatini-lala
Sun Oct 31 15:31:08 CET 2010
On date Sunday 2010-10-31 11:28:02 +0100, Michael Niedermayer encoded:
> On Sun, Oct 31, 2010 at 01:30:56AM +0200, Stefano Sabatini wrote:
> > This allows to distinguish for example to have different constants
> > with the same prefix (e.g. "foo" and "foobar").
> > ---
> > libavutil/eval.c | 4 +++-
> > 1 files changed, 3 insertions(+), 1 deletions(-)
> >
> > diff --git a/libavutil/eval.c b/libavutil/eval.c
> > index 6e03498..27c1b6d 100644
> > --- a/libavutil/eval.c
> > +++ b/libavutil/eval.c
> > @@ -103,13 +103,15 @@ double av_strtod(const char *numstr, char **tail)
> > return d;
> > }
> >
> > +#define IDENTIFIER_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789"
> > +
> > static int strmatch(const char *s, const char *prefix)
> > {
> > int i;
> > for (i=0; prefix[i]; i++) {
> > if (prefix[i] != s[i]) return 0;
> > }
> > - return 1;
> > + return !strspn(s+i, IDENTIFIER_CHARS);
>
> check the char ranges directly please, this is just slow
Updated.
--
FFmpeg = Faithful and Foolish Marvellous Picky Erudite Gospel
More information about the ffmpeg-devel
mailing list