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;