SHA256
1
0
forked from pool/gsoap
gsoap/gsoap-locale.diff

35 lines
1.2 KiB
Diff

From: Jan Engelhardt <jengelh@inai.de>
Always force locale-aware formatting and parsing.
Fix build error with -DWITH_C_LOCALE
References: https://sourceforge.net/p/gsoap2/bugs/1079/
References: https://sourceforge.net/p/gsoap2/bugs/1080/
---
gsoap/stdsoap2.h | 5 +++++
1 file changed, 5 insertions(+)
Index: gsoap-2.8.39/gsoap/stdsoap2.h
===================================================================
--- gsoap-2.8.39.orig/gsoap/stdsoap2.h
+++ gsoap-2.8.39/gsoap/stdsoap2.h
@@ -57,6 +57,10 @@ A commercial use license is available fr
# include "soapdefs.h" /* include user-defined stuff in soapdefs.h */
#endif
+#ifndef WITH_C_LOCALE
+# define WITH_C_LOCALE 1
+#endif
+
#ifndef _THREAD_SAFE
# define _THREAD_SAFE
#endif
@@ -659,6 +663,7 @@ extern intmax_t __strtoull(const char*,
# define SOAP_FREELOCALE(soap) (void)((soap)->c_locale && (_free_locale((soap)->c_locale), ((soap)->c_locale = NULL)))
# else
# include <xlocale.h>
+# include <locale.h>
# define SOAP_LOCALE_T locale_t
# define SOAP_LOCALE(soap) ((soap)->c_locale ? (soap)->c_locale : ((soap)->c_locale = newlocale(LC_ALL_MASK, "C", NULL)))
# define SOAP_FREELOCALE(soap) (void)((soap)->c_locale && (freelocale((soap)->c_locale), ((soap)->c_locale = NULL)))