mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-poco.git
				synced 2025-10-30 18:17:50 +00:00 
			
		
		
		
	fixed GH #2737: Bundles vulnerable copy of Expat — please upgrade to Expat 2.2.7
This commit is contained in:
		| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #ifndef Expat_INCLUDED | ||||
| @@ -236,7 +264,7 @@ XML_ParserCreate_MM(const XML_Char *encoding, | ||||
|                     const XML_Char *namespaceSeparator); | ||||
|  | ||||
| /* Prepare a parser object to be re-used.  This is particularly | ||||
|    valuable when memory allocation overhead is disproportionatly high, | ||||
|    valuable when memory allocation overhead is disproportionately high, | ||||
|    such as when a large number of small documnents need to be parsed. | ||||
|    All handlers are cleared from the parser, except for the | ||||
|    unknownEncodingHandler. The parser's external state is re-initialized | ||||
| @@ -1048,7 +1076,7 @@ XML_GetFeatureList(void); | ||||
| */ | ||||
| #define XML_MAJOR_VERSION 2 | ||||
| #define XML_MINOR_VERSION 2 | ||||
| #define XML_MICRO_VERSION 3 | ||||
| #define XML_MICRO_VERSION 7 | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #ifndef Expat_External_INCLUDED | ||||
| @@ -8,7 +36,7 @@ | ||||
| /* External API definitions */ | ||||
|  | ||||
| #if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) | ||||
| #define XML_USE_MSC_EXTENSIONS 1 | ||||
| # define XML_USE_MSC_EXTENSIONS 1 | ||||
| #endif | ||||
|  | ||||
| /* Expat tries very hard to make the API boundary very specifically | ||||
| @@ -34,11 +62,11 @@ | ||||
|    system headers may assume the cdecl convention. | ||||
| */ | ||||
| #ifndef XMLCALL | ||||
| #if defined(_MSC_VER) | ||||
| #define XMLCALL __cdecl | ||||
| #elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) | ||||
| #define XMLCALL __attribute__((cdecl)) | ||||
| #else | ||||
| # if defined(_MSC_VER) | ||||
| #  define XMLCALL __cdecl | ||||
| # elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) | ||||
| #  define XMLCALL __attribute__((cdecl)) | ||||
| # else | ||||
| /* For any platform which uses this definition and supports more than | ||||
|    one calling convention, we need to extend this definition to | ||||
|    declare the convention used on that platform, if it's possible to | ||||
| @@ -49,41 +77,45 @@ | ||||
|    pre-processor and how to specify the same calling convention as the | ||||
|    platform's malloc() implementation. | ||||
| */ | ||||
| #define XMLCALL | ||||
| #endif | ||||
| #  define XMLCALL | ||||
| # endif | ||||
| #endif  /* not defined XMLCALL */ | ||||
|  | ||||
|  | ||||
| #if !defined(XML_STATIC) && !defined(XMLIMPORT) | ||||
| #ifndef XML_BUILDING_EXPAT | ||||
| # ifndef XML_BUILDING_EXPAT | ||||
| /* using Expat from an application */ | ||||
|  | ||||
| #ifdef XML_USE_MSC_EXTENSIONS | ||||
| #define XMLIMPORT __declspec(dllimport) | ||||
| #endif | ||||
| #  ifdef XML_USE_MSC_EXTENSIONS | ||||
| #   define XMLIMPORT __declspec(dllimport) | ||||
| #  endif | ||||
|  | ||||
| #endif | ||||
| # endif | ||||
| #endif  /* not defined XML_STATIC */ | ||||
|  | ||||
| #if !defined(XMLIMPORT) && defined(__GNUC__) && (__GNUC__ >= 4) | ||||
| #define XMLIMPORT __attribute__ ((visibility ("default"))) | ||||
| #ifndef XML_ENABLE_VISIBILITY | ||||
| # define XML_ENABLE_VISIBILITY 0 | ||||
| #endif | ||||
|  | ||||
| #if !defined(XMLIMPORT) && XML_ENABLE_VISIBILITY | ||||
| # define XMLIMPORT __attribute__ ((visibility ("default"))) | ||||
| #endif | ||||
|  | ||||
| /* If we didn't define it above, define it away: */ | ||||
| #ifndef XMLIMPORT | ||||
| #define XMLIMPORT | ||||
| # define XMLIMPORT | ||||
| #endif | ||||
|  | ||||
| #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) | ||||
| #define XML_ATTR_MALLOC __attribute__((__malloc__)) | ||||
| # define XML_ATTR_MALLOC __attribute__((__malloc__)) | ||||
| #else | ||||
| #define XML_ATTR_MALLOC | ||||
| # define XML_ATTR_MALLOC | ||||
| #endif | ||||
|  | ||||
| #if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) | ||||
| #define XML_ATTR_ALLOC_SIZE(x)  __attribute__((__alloc_size__(x))) | ||||
| # define XML_ATTR_ALLOC_SIZE(x)  __attribute__((__alloc_size__(x))) | ||||
| #else | ||||
| #define XML_ATTR_ALLOC_SIZE(x) | ||||
| # define XML_ATTR_ALLOC_SIZE(x) | ||||
| #endif | ||||
|  | ||||
| #define XMLPARSEAPI(type) XMLIMPORT type XMLCALL | ||||
| @@ -93,33 +125,35 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
| #ifdef XML_UNICODE_WCHAR_T | ||||
| # ifndef XML_UNICODE | ||||
| #  define XML_UNICODE | ||||
| # endif | ||||
| # if defined(__SIZEOF_WCHAR_T__) && (__SIZEOF_WCHAR_T__ != 2) | ||||
| #  error "sizeof(wchar_t) != 2; Need -fshort-wchar for both Expat and libc" | ||||
| # endif | ||||
| #endif | ||||
|  | ||||
| #ifdef XML_UNICODE     /* Information is UTF-16 encoded. */ | ||||
| #ifdef XML_UNICODE_WCHAR_T | ||||
| # ifdef XML_UNICODE_WCHAR_T | ||||
| typedef wchar_t XML_Char; | ||||
| typedef wchar_t XML_LChar; | ||||
| #else | ||||
| # else | ||||
| typedef unsigned short XML_Char; | ||||
| typedef char XML_LChar; | ||||
| #endif /* XML_UNICODE_WCHAR_T */ | ||||
| # endif /* XML_UNICODE_WCHAR_T */ | ||||
| #else                  /* Information is UTF-8 encoded. */ | ||||
| typedef char XML_Char; | ||||
| typedef char XML_LChar; | ||||
| #endif /* XML_UNICODE */ | ||||
|  | ||||
| #ifdef XML_LARGE_SIZE  /* Use large integers for file/stream positions. */ | ||||
| #if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 | ||||
| # if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 | ||||
| typedef __int64 XML_Index;  | ||||
| typedef unsigned __int64 XML_Size; | ||||
| #else | ||||
| # else | ||||
| typedef long long XML_Index; | ||||
| typedef unsigned long long XML_Size; | ||||
| #endif | ||||
| # endif | ||||
| #else | ||||
| typedef long XML_Index; | ||||
| typedef unsigned long XML_Size; | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #define ASCII_A 0x41 | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| /* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| /* Like asciitab.h, except that 0xD has code BT_S rather than BT_CR */ | ||||
|   | ||||
| @@ -18,6 +18,35 @@ | ||||
|  | ||||
|    Note: Use of these macros is based on judgement, not hard rules, | ||||
|          and therefore subject to change. | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__) | ||||
| @@ -86,8 +115,13 @@ extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef XML_ENABLE_VISIBILITY | ||||
| #if XML_ENABLE_VISIBILITY | ||||
| __attribute__ ((visibility ("default"))) | ||||
| #endif | ||||
| #endif | ||||
| void | ||||
| align_limit_to_full_utf8_characters(const char * from, const char ** fromLimRef); | ||||
| _INTERNAL_trim_to_complete_utf8_characters(const char * from, const char ** fromLimRef); | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| /* 0x80 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, | ||||
|   | ||||
| @@ -1,3 +1,35 @@ | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| static const unsigned namingBitmap[] = { | ||||
| 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||||
| 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||||
|   | ||||
| @@ -11,6 +11,12 @@ | ||||
|  * -------------------------------------------------------------------------- | ||||
|  * HISTORY: | ||||
|  * | ||||
|  * 2018-07-08  (Anton Maklakov) | ||||
|  *   - Add "fall through" markers for GCC's -Wimplicit-fallthrough | ||||
|  * | ||||
|  * 2017-11-03  (Sebastian Pipping) | ||||
|  *   - Hide sip_tobin and sip_binof unless SIPHASH_TOBIN macro is defined | ||||
|  * | ||||
|  * 2017-07-25  (Vadim Zeitlin) | ||||
|  *   - Fix use of SIPHASH_MAIN macro | ||||
|  * | ||||
| @@ -151,6 +157,8 @@ static struct sipkey *sip_tokey(struct sipkey *key, const void *src) { | ||||
| } /* sip_tokey() */ | ||||
|  | ||||
|  | ||||
| #ifdef SIPHASH_TOBIN | ||||
|  | ||||
| #define sip_binof(v) sip_tobin((unsigned char[8]){ 0 }, (v)) | ||||
|  | ||||
| static void *sip_tobin(void *dst, uint64_t u64) { | ||||
| @@ -158,6 +166,8 @@ static void *sip_tobin(void *dst, uint64_t u64) { | ||||
| 	return dst; | ||||
| } /* sip_tobin() */ | ||||
|  | ||||
| #endif  /* SIPHASH_TOBIN */ | ||||
|  | ||||
|  | ||||
| static void sip_round(struct siphash *H, const int rounds) { | ||||
| 	int i; | ||||
| @@ -231,12 +241,19 @@ static uint64_t sip24_final(struct siphash *H) { | ||||
|  | ||||
| 	switch (left) { | ||||
| 	case 7: b |= (uint64_t)H->buf[6] << 48; | ||||
| 		/* fall through */ | ||||
| 	case 6: b |= (uint64_t)H->buf[5] << 40; | ||||
| 		/* fall through */ | ||||
| 	case 5: b |= (uint64_t)H->buf[4] << 32; | ||||
| 		/* fall through */ | ||||
| 	case 4: b |= (uint64_t)H->buf[3] << 24; | ||||
| 		/* fall through */ | ||||
| 	case 3: b |= (uint64_t)H->buf[2] << 16; | ||||
| 		/* fall through */ | ||||
| 	case 2: b |= (uint64_t)H->buf[1] << 8; | ||||
| 		/* fall through */ | ||||
| 	case 1: b |= (uint64_t)H->buf[0] << 0; | ||||
| 		/* fall through */ | ||||
| 	case 0: break; | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,34 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| */ | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| /* 0x80 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, | ||||
| /* 0x84 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, | ||||
|   | ||||
							
								
								
									
										2715
									
								
								XML/src/xmlparse.cpp
									
									
									
									
									
								
							
							
						
						
									
										2715
									
								
								XML/src/xmlparse.cpp
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #include <stddef.h> | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #ifndef XmlRole_INCLUDED | ||||
|   | ||||
| @@ -1,8 +1,47 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #include <stddef.h> | ||||
| #include <string.h>  /* memcpy */ | ||||
|  | ||||
| #if defined(_MSC_VER) && (_MSC_VER <= 1700) | ||||
|   /* for vs2012/11.0/1700 and earlier Visual Studio compilers */ | ||||
| # define bool   int | ||||
| # define false  0 | ||||
| # define true   1 | ||||
| #else | ||||
| # include <stdbool.h> | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef EXPAT_WIN32 | ||||
| #include "winconfig.h" | ||||
| @@ -27,7 +66,6 @@ | ||||
|   { PREFIX(prologTok), PREFIX(contentTok), \ | ||||
|     PREFIX(cdataSectionTok) IGNORE_SECTION_TOK_VTABLE }, \ | ||||
|   { PREFIX(attributeValueTok), PREFIX(entityValueTok) }, \ | ||||
|   PREFIX(sameName), \ | ||||
|   PREFIX(nameMatchesAscii), \ | ||||
|   PREFIX(nameLength), \ | ||||
|   PREFIX(skipS), \ | ||||
| @@ -324,7 +362,7 @@ enum {  /* UTF8_cvalN is value of masked first byte of N byte sequence */ | ||||
| }; | ||||
|  | ||||
| void | ||||
| align_limit_to_full_utf8_characters(const char * from, const char ** fromLimRef) | ||||
| _INTERNAL_trim_to_complete_utf8_characters(const char * from, const char ** fromLimRef) | ||||
| { | ||||
|   const char * fromLim = *fromLimRef; | ||||
|   size_t walked = 0; | ||||
| @@ -363,22 +401,37 @@ utf8_toUtf8(const ENCODING *UNUSED_P(enc), | ||||
|             const char **fromP, const char *fromLim, | ||||
|             char **toP, const char *toLim) | ||||
| { | ||||
|   char *to; | ||||
|   const char *from; | ||||
|   const char *fromLimInitial = fromLim; | ||||
|   bool input_incomplete = false; | ||||
|   bool output_exhausted = false; | ||||
|  | ||||
|   /* Avoid copying partial characters. */ | ||||
|   align_limit_to_full_utf8_characters(*fromP, &fromLim); | ||||
|   /* Avoid copying partial characters (due to limited space). */ | ||||
|   const ptrdiff_t bytesAvailable = fromLim - *fromP; | ||||
|   const ptrdiff_t bytesStorable = toLim - *toP; | ||||
|   if (bytesAvailable > bytesStorable) { | ||||
|     fromLim = *fromP + bytesStorable; | ||||
|     output_exhausted = true; | ||||
|   } | ||||
|  | ||||
|   for (to = *toP, from = *fromP; (from < fromLim) && (to < toLim); from++, to++) | ||||
|     *to = *from; | ||||
|   *fromP = from; | ||||
|   *toP = to; | ||||
|   /* Avoid copying partial characters (from incomplete input). */ | ||||
|   { | ||||
|     const char * const fromLimBefore = fromLim; | ||||
|     _INTERNAL_trim_to_complete_utf8_characters(*fromP, &fromLim); | ||||
|     if (fromLim < fromLimBefore) { | ||||
|       input_incomplete = true; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (fromLim < fromLimInitial) | ||||
|     return XML_CONVERT_INPUT_INCOMPLETE; | ||||
|   else if ((to == toLim) && (from < fromLim)) | ||||
|   { | ||||
|     const ptrdiff_t bytesToCopy = fromLim - *fromP; | ||||
|     memcpy(*toP, *fromP, bytesToCopy); | ||||
|     *fromP += bytesToCopy; | ||||
|     *toP += bytesToCopy; | ||||
|   } | ||||
|  | ||||
|   if (output_exhausted)  /* needs to go first */ | ||||
|     return XML_CONVERT_OUTPUT_EXHAUSTED; | ||||
|   else if (input_incomplete) | ||||
|     return XML_CONVERT_INPUT_INCOMPLETE; | ||||
|   else | ||||
|     return XML_CONVERT_COMPLETED; | ||||
| } | ||||
| @@ -1411,9 +1464,8 @@ unknown_toUtf8(const ENCODING *enc, | ||||
|         return XML_CONVERT_OUTPUT_EXHAUSTED; | ||||
|       (*fromP)++; | ||||
|     } | ||||
|     do { | ||||
|       *(*toP)++ = *utf8++; | ||||
|     } while (--n != 0); | ||||
|     memcpy(*toP, utf8, n); | ||||
|     *toP += n; | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,33 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| #ifndef XmlTok_INCLUDED | ||||
| @@ -139,9 +167,6 @@ enum XML_Convert_Result { | ||||
| struct encoding { | ||||
|   SCANNER scanners[XML_N_STATES]; | ||||
|   SCANNER literalScanners[XML_N_LITERAL_TYPES]; | ||||
|   int (PTRCALL *sameName)(const ENCODING *, | ||||
|                           const char *, | ||||
|                           const char *); | ||||
|   int (PTRCALL *nameMatchesAscii)(const ENCODING *, | ||||
|                                   const char *, | ||||
|                                   const char *, | ||||
| @@ -232,8 +257,6 @@ struct encoding { | ||||
| #define XmlEntityValueTok(enc, ptr, end, nextTokPtr) \ | ||||
|    XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, ptr, end, nextTokPtr) | ||||
|  | ||||
| #define XmlSameName(enc, ptr1, ptr2) (((enc)->sameName)(enc, ptr1, ptr2)) | ||||
|  | ||||
| #define XmlNameMatchesAscii(enc, ptr1, end1, ptr2) \ | ||||
|   (((enc)->nameMatchesAscii)(enc, ptr1, end1, ptr2)) | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,35 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* This file is included! | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| /* This file is included! */ | ||||
| #ifdef XML_TOK_IMPL_C | ||||
|  | ||||
| #ifndef IS_INVALID_CHAR | ||||
| @@ -47,6 +74,7 @@ | ||||
|       *nextTokPtr = ptr; \ | ||||
|       return XML_TOK_INVALID; \ | ||||
|     } \ | ||||
|     /* fall through */ \ | ||||
|   case BT_NMSTRT: \ | ||||
|   case BT_HEX: \ | ||||
|   case BT_DIGIT: \ | ||||
| @@ -75,6 +103,7 @@ | ||||
|       *nextTokPtr = ptr; \ | ||||
|       return XML_TOK_INVALID; \ | ||||
|     } \ | ||||
|     /* fall through */ \ | ||||
|   case BT_NMSTRT: \ | ||||
|   case BT_HEX: \ | ||||
|     ptr += MINBPC(enc); \ | ||||
| @@ -1415,6 +1444,7 @@ PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end, | ||||
|     case BT_NMSTRT: | ||||
|       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f)) | ||||
|         break; | ||||
|       /* fall through */ | ||||
|     default: | ||||
|       switch (BYTE_TO_ASCII(enc, ptr)) { | ||||
|       case 0x24: /* $ */ | ||||
| @@ -1626,87 +1656,14 @@ PREFIX(predefinedEntityName)(const ENCODING *UNUSED_P(enc), const char *ptr, | ||||
|   return 0; | ||||
| } | ||||
|  | ||||
| /* This function does not appear to be called from anywhere within the | ||||
|  * library code.  It is used via the macro XmlSameName(), which is | ||||
|  * defined but never used.  Since it appears in the encoding function | ||||
|  * table, removing it is not a thing to be undertaken lightly.  For | ||||
|  * the moment, we simply exclude it from coverage tests. | ||||
|  * | ||||
|  * LCOV_EXCL_START | ||||
|  */ | ||||
| static int PTRCALL | ||||
| PREFIX(sameName)(const ENCODING *enc, const char *ptr1, const char *ptr2) | ||||
| { | ||||
|   for (;;) { | ||||
|     switch (BYTE_TYPE(enc, ptr1)) { | ||||
| #define LEAD_CASE(n) \ | ||||
|     case BT_LEAD ## n: \ | ||||
|       if (*ptr1++ != *ptr2++) \ | ||||
|         return 0; | ||||
|     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2) | ||||
| #undef LEAD_CASE | ||||
|       /* fall through */ | ||||
|       if (*ptr1++ != *ptr2++) | ||||
|         return 0; | ||||
|       break; | ||||
|     case BT_NONASCII: | ||||
|     case BT_NMSTRT: | ||||
| #ifdef XML_NS | ||||
|     case BT_COLON: | ||||
| #endif | ||||
|     case BT_HEX: | ||||
|     case BT_DIGIT: | ||||
|     case BT_NAME: | ||||
|     case BT_MINUS: | ||||
|       if (*ptr2++ != *ptr1++) | ||||
|         return 0; | ||||
|       if (MINBPC(enc) > 1) { | ||||
|         if (*ptr2++ != *ptr1++) | ||||
|           return 0; | ||||
|         if (MINBPC(enc) > 2) { | ||||
|           if (*ptr2++ != *ptr1++) | ||||
|             return 0; | ||||
|           if (MINBPC(enc) > 3) { | ||||
|             if (*ptr2++ != *ptr1++) | ||||
|               return 0; | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|       break; | ||||
|     default: | ||||
|       if (MINBPC(enc) == 1 && *ptr1 == *ptr2) | ||||
|         return 1; | ||||
|       switch (BYTE_TYPE(enc, ptr2)) { | ||||
|       case BT_LEAD2: | ||||
|       case BT_LEAD3: | ||||
|       case BT_LEAD4: | ||||
|       case BT_NONASCII: | ||||
|       case BT_NMSTRT: | ||||
| #ifdef XML_NS | ||||
|       case BT_COLON: | ||||
| #endif | ||||
|       case BT_HEX: | ||||
|       case BT_DIGIT: | ||||
|       case BT_NAME: | ||||
|       case BT_MINUS: | ||||
|         return 0; | ||||
|       default: | ||||
|         return 1; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   /* not reached */ | ||||
| } | ||||
| /* LCOV_EXCL_STOP */ | ||||
|  | ||||
| static int PTRCALL | ||||
| PREFIX(nameMatchesAscii)(const ENCODING *UNUSED_P(enc), const char *ptr1, | ||||
|                          const char *end1, const char *ptr2) | ||||
| { | ||||
|   for (; *ptr2; ptr1 += MINBPC(enc), ptr2++) { | ||||
|     if (end1 - ptr1 < MINBPC(enc)) { | ||||
|       /* This line cannot be executed.  THe incoming data has already | ||||
|        * been tokenized once, so imcomplete characters like this have | ||||
|       /* This line cannot be executed.  The incoming data has already | ||||
|        * been tokenized once, so incomplete characters like this have | ||||
|        * already been eliminated from the input.  Retaining the | ||||
|        * paranoia check is still valuable, however. | ||||
|        */ | ||||
|   | ||||
| @@ -1,6 +1,33 @@ | ||||
| /* | ||||
| Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
| See the file COPYING for copying permission. | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| enum { | ||||
|   | ||||
| @@ -1,8 +1,35 @@ | ||||
| /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd | ||||
|    See the file COPYING for copying permission. | ||||
| /* This file is included! | ||||
|                             __  __            _ | ||||
|                          ___\ \/ /_ __   __ _| |_ | ||||
|                         / _ \\  /| '_ \ / _` | __| | ||||
|                        |  __//  \| |_) | (_| | |_ | ||||
|                         \___/_/\_\ .__/ \__,_|\__| | ||||
|                                  |_| XML parser | ||||
|  | ||||
|    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd | ||||
|    Copyright (c) 2000-2017 Expat development team | ||||
|    Licensed under the MIT license: | ||||
|  | ||||
|    Permission is  hereby granted,  free of charge,  to any  person obtaining | ||||
|    a  copy  of  this  software   and  associated  documentation  files  (the | ||||
|    "Software"),  to  deal in  the  Software  without restriction,  including | ||||
|    without  limitation the  rights  to use,  copy,  modify, merge,  publish, | ||||
|    distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
|    persons  to whom  the Software  is  furnished to  do so,  subject to  the | ||||
|    following conditions: | ||||
|  | ||||
|    The above copyright  notice and this permission notice  shall be included | ||||
|    in all copies or substantial portions of the Software. | ||||
|  | ||||
|    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND, | ||||
|    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF | ||||
|    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
|    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
|    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR | ||||
|    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
|    USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| */ | ||||
|  | ||||
| /* This file is included! */ | ||||
| #ifdef XML_TOK_NS_C | ||||
|  | ||||
| const ENCODING * | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Günter Obiltschnig
					Günter Obiltschnig