diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2014-03-24 19:08:10 +1030 |
---|---|---|
committer | Bryce Harrington <bryce@osg.samsung.com> | 2014-09-23 11:40:03 -0700 |
commit | 9a19ef185884da1e7d5344b301f48aa2ba0f88b6 (patch) | |
tree | 39f752f1e4746d2d9f601eebaf7af04d88812488 /src/cairo-misc.c | |
parent | a02e29a12d82f177bdf99ed8cfd0c3b3b78c44da (diff) | |
download | cairo-9a19ef185884da1e7d5344b301f48aa2ba0f88b6.tar.gz |
Fix compilation with bionic libc
Refactor out a cairo_get_locale_decimal_point() routine to handle a case
where localeconv() is not available.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=70492
Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
[edit: Condensed cairo_get_locale_decimal_point and conditionalized
locale.h inclusion. -- bryce]
Diffstat (limited to 'src/cairo-misc.c')
-rw-r--r-- | src/cairo-misc.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cairo-misc.c b/src/cairo-misc.c index 7575d42ce..df8a4efc9 100644 --- a/src/cairo-misc.c +++ b/src/cairo-misc.c @@ -759,6 +759,24 @@ _cairo_half_from_float (float f) } } +#ifndef __BIONIC__ +# include <locale.h> + +const char * +cairo_get_locale_decimal_point (void) +{ + struct lconv *locale_data = localeconv (); + return locale_data->decimal_point; +} + +#else +/* Android's Bionic libc doesn't provide decimal_point */ +const char * +cairo_get_locale_decimal_point (void) +{ + return '.'; +} +#endif #ifdef _WIN32 |