diff --git a/src/CalcManager.Android/CalcManager.Android.vcxproj b/src/CalcManager.Android/CalcManager.Android.vcxproj index dd55a9db..aaaa423c 100644 --- a/src/CalcManager.Android/CalcManager.Android.vcxproj +++ b/src/CalcManager.Android/CalcManager.Android.vcxproj @@ -64,6 +64,7 @@ + diff --git a/src/CalcManager.Android/CalcManager.Android.vcxproj.filters b/src/CalcManager.Android/CalcManager.Android.vcxproj.filters index fba4455c..40dcf476 100644 --- a/src/CalcManager.Android/CalcManager.Android.vcxproj.filters +++ b/src/CalcManager.Android/CalcManager.Android.vcxproj.filters @@ -41,6 +41,7 @@ + diff --git a/src/CalcManager.Android/Source.cpp b/src/CalcManager.Android/Source.cpp new file mode 100644 index 00000000..ce079f01 --- /dev/null +++ b/src/CalcManager.Android/Source.cpp @@ -0,0 +1,23 @@ +#include + +// see https://github.com/aosp-mirror/platform_bionic/commit/3103f6d39e4ae309a9374ee38f414400c889c558#diff-71865bddb52592934317bb2340a94b0cR199 + +double strtod_l(const char* s, char** end_ptr, locale_t) +{ + return strtod(s, end_ptr); +} + +float strtof_l(const char* s, char** end_ptr, locale_t) +{ + return strtof(s, end_ptr); +} + +long strtol_l(const char* s, char** end_ptr, int base, locale_t) +{ + return strtol(s, end_ptr, base); +} + +unsigned long strtoul_l(const char* s, char** end_ptr, int base, locale_t) +{ + return strtoul(s, end_ptr, base); +} diff --git a/src/CalcManager.Android/strto_workaround.cpp b/src/CalcManager.Android/strto_workaround.cpp new file mode 100644 index 00000000..1e927c84 --- /dev/null +++ b/src/CalcManager.Android/strto_workaround.cpp @@ -0,0 +1,21 @@ +#include + +double strtod_l(const char* s, char** end_ptr, locale_t) +{ + return strtod(s, end_ptr); +} + +float strtof_l(const char* s, char** end_ptr, locale_t) +{ + return strtof(s, end_ptr); +} + +long strtol_l(const char* s, char** end_ptr, int base, locale_t) +{ + return strtol(s, end_ptr, base); +} + +unsigned long strtoul_l(const char* s, char** end_ptr, int base, locale_t) +{ + return strtoul(s, end_ptr, base); +}