diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-11-05 17:20:41 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2011-11-06 11:52:56 +0200 |
commit | ba04ecfdacec4cf86e74b43fe8bcc09e06bb7a72 (patch) | |
tree | 374fbe08c811f62a5a9f3f4e0e36a417206a66e1 /libavutil/avstring.c | |
parent | 07b172fe8f6a5d567edc4dac3f813b210874d3b1 (diff) | |
download | ffmpeg-ba04ecfdacec4cf86e74b43fe8bcc09e06bb7a72.tar.gz |
avstring: Add locale independent implementations of strcasecmp/strncasecmp
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavutil/avstring.c')
-rw-r--r-- | libavutil/avstring.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libavutil/avstring.c b/libavutil/avstring.c index 2b8c2d4a1d..11f3a7c321 100644 --- a/libavutil/avstring.c +++ b/libavutil/avstring.c @@ -134,6 +134,27 @@ char *av_get_token(const char **buf, const char *term) return ret; } +int av_strcasecmp(const char *a, const char *b) +{ + uint8_t c1, c2; + do { + c1 = av_tolower(*a++); + c2 = av_tolower(*b++); + } while (c1 && c1 == c2); + return c1 - c2; +} + +int av_strncasecmp(const char *a, const char *b, size_t n) +{ + const char *end = a + n; + uint8_t c1, c2; + do { + c1 = av_tolower(*a++); + c2 = av_tolower(*b++); + } while (a < end && c1 && c1 == c2); + return c1 - c2; +} + #ifdef TEST #undef printf |