From 5d3d681d6fa36691351aa9f4ecd6bf9db1e5be71 Mon Sep 17 00:00:00 2001 From: badlogic Date: Mon, 26 Sep 2016 11:55:14 +0200 Subject: [PATCH] [c] Closes #698, closes #704. Don't set locale on Android, use _strdup instead of strdup on WIN32 --- spine-c/src/spine/SkeletonJson.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index fa9170609..0f87102a7 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -37,6 +37,10 @@ #include #include +#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) +#define strdup _strdup +#endif + typedef struct { const char* parent; const char* skin; @@ -569,11 +573,18 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha CONST_CAST(char*, self->error) = 0; internal->linkedMeshCount = 0; +#ifndef __ANDROID__ oldLocale = strdup(setlocale(LC_NUMERIC, NULL)); setlocale(LC_NUMERIC, "C"); +#endif + root = Json_create(json); + +#ifndef __ANDROID__ setlocale(LC_NUMERIC, oldLocale); free(oldLocale); +#endif + if (!root) { _spSkeletonJson_setError(self, 0, "Invalid skeleton JSON: ", Json_getError()); return 0;