mirror of
https://github.com/zeux/pugixml.git
synced 2024-12-31 00:13:01 +08:00
Enable long long support for C++11 and for MSVC 2008+
git-svn-id: http://pugixml.googlecode.com/svn/trunk@967 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
parent
44d3ae5e90
commit
2bd99cff86
@ -3394,9 +3394,17 @@ PUGI__NS_BEGIN
|
||||
int base = get_integer_base(value);
|
||||
|
||||
#ifdef PUGIXML_WCHAR_MODE
|
||||
return wcstoll(value, 0, base);
|
||||
#ifdef PUGI__MSVC_CRT_VERSION
|
||||
return _wcstoi64(value, 0, base);
|
||||
#else
|
||||
return wcstoll(value, 0, base);
|
||||
#endif
|
||||
#else
|
||||
return strtoll(value, 0, base);
|
||||
#ifdef PUGI__MSVC_CRT_VERSION
|
||||
return _strtoi64(value, 0, base);
|
||||
#else
|
||||
return strtoll(value, 0, base);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -3407,9 +3415,17 @@ PUGI__NS_BEGIN
|
||||
int base = get_integer_base(value);
|
||||
|
||||
#ifdef PUGIXML_WCHAR_MODE
|
||||
return wcstoull(value, 0, base);
|
||||
#ifdef PUGI__MSVC_CRT_VERSION
|
||||
return _wcstoui64(value, 0, base);
|
||||
#else
|
||||
return wcstoull(value, 0, base);
|
||||
#endif
|
||||
#else
|
||||
return strtoull(value, 0, base);
|
||||
#ifdef PUGI__MSVC_CRT_VERSION
|
||||
return _strtoui64(value, 0, base);
|
||||
#else
|
||||
return strtoull(value, 0, base);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
@ -63,6 +63,15 @@
|
||||
# define PUGIXML_FUNCTION PUGIXML_API
|
||||
#endif
|
||||
|
||||
// If the platform is known to have long long support, enable long long functions
|
||||
#ifndef PUGIXML_HAS_LONG_LONG
|
||||
# if defined(__cplusplus) && __cplusplus >= 201103
|
||||
# define PUGIXML_HAS_LONG_LONG
|
||||
# elif defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
# define PUGIXML_HAS_LONG_LONG
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Character interface macros
|
||||
#ifdef PUGIXML_WCHAR_MODE
|
||||
# define PUGIXML_TEXT(t) L ## t
|
||||
|
Loading…
x
Reference in New Issue
Block a user