aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReimar Döffinger2013-03-06 14:00:22 +0200
committerMartin Storsjö2013-03-07 15:16:26 +0200
commit12c5c1d3e3906e18a96ec380605d2f1504fc3d3b (patch)
treec34b4dd893f2e5ab67c3f8556beec201ebeda610
parent54b298fe5650c124c29a8283cfd05024ac409d3a (diff)
avstring: Add locale independent versions of some ctype.h functions
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--doc/APIchanges3
-rw-r--r--libavutil/avstring.c22
-rw-r--r--libavutil/avstring.h20
-rw-r--r--libavutil/version.h2
4 files changed, 46 insertions, 1 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index b58f4da522..d7d95df475 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,9 @@ libavutil: 2012-10-22
API changes, most recent first:
+2013-xx-xx - xxxxxxx - lavu 52.8.0 - avstring.h
+ Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.
+
2013-xx-xx - xxxxxxx - lavfi 3.4.0 - avfiltergraph.h
Add resample_lavr_opts to AVFilterGraph for setting libavresample options
for auto-inserted resample filters.
diff --git a/libavutil/avstring.c b/libavutil/avstring.c
index 625f723686..6ce0310c1a 100644
--- a/libavutil/avstring.c
+++ b/libavutil/avstring.c
@@ -213,6 +213,28 @@ const char *av_dirname(char *path)
return path;
}
+int av_isdigit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+int av_isgraph(int c)
+{
+ return c > 32 && c < 127;
+}
+
+int av_isspace(int c)
+{
+ return c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' ||
+ c == '\v';
+}
+
+int av_isxdigit(int c)
+{
+ c = av_tolower(c);
+ return av_isdigit(c) || (c >= 'a' && c <= 'z');
+}
+
#ifdef TEST
int main(void)
diff --git a/libavutil/avstring.h b/libavutil/avstring.h
index e0e6ed26f5..b7d10983c3 100644
--- a/libavutil/avstring.h
+++ b/libavutil/avstring.h
@@ -152,6 +152,21 @@ char *av_d2str(double d);
char *av_get_token(const char **buf, const char *term);
/**
+ * Locale-independent conversion of ASCII isdigit.
+ */
+int av_isdigit(int c);
+
+/**
+ * Locale-independent conversion of ASCII isgraph.
+ */
+int av_isgraph(int c);
+
+/**
+ * Locale-independent conversion of ASCII isspace.
+ */
+int av_isspace(int c);
+
+/**
* Locale-independent conversion of ASCII characters to uppercase.
*/
static inline int av_toupper(int c)
@@ -171,6 +186,11 @@ static inline int av_tolower(int c)
return c;
}
+/**
+ * Locale-independent conversion of ASCII isxdigit.
+ */
+int av_isxdigit(int c);
+
/*
* Locale-independent case-insensitive compare.
* @note This means only ASCII-range characters are case-insensitive
diff --git a/libavutil/version.h b/libavutil/version.h
index 8d7e378994..38b11a408d 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -37,7 +37,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 52
-#define LIBAVUTIL_VERSION_MINOR 7
+#define LIBAVUTIL_VERSION_MINOR 8
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \