Skip to content

Commit

Permalink
Upgrade libexpat to 2.6.2 (JSBSim-Team#1080)
Browse files Browse the repository at this point in the history
  • Loading branch information
bcoconni authored May 2, 2024
1 parent 9bce8d7 commit 92ebcca
Show file tree
Hide file tree
Showing 17 changed files with 502 additions and 592 deletions.
10 changes: 5 additions & 5 deletions JSBSim.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)src\simgear\xml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;_DEBUG;_CONSOLE;HAVE_EXPAT_CONFIG_H;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;_DEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
Expand Down Expand Up @@ -115,7 +115,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)src\simgear\xml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;_DEBUG;_CONSOLE;HAVE_EXPAT_CONFIG_H;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;_DEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
Expand Down Expand Up @@ -151,7 +151,7 @@
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)src\simgear\xml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;NDEBUG;_CONSOLE;HAVE_EXPAT_CONFIG_H;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
Expand Down Expand Up @@ -193,7 +193,7 @@
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)src\simgear\xml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;NDEBUG;_CONSOLE;HAVE_EXPAT_CONFIG_H;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>JSBSIM_STATIC_LINK;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
Expand Down Expand Up @@ -487,4 +487,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
6 changes: 3 additions & 3 deletions JSBSimForUnreal.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)src\simgear\xml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>JSBSIM_EXPORT;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;XML_STATIC;NDEBUG;_CONSOLE;HAVE_EXPAT_CONFIG_H;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>JSBSIM_EXPORT;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;XML_STATIC;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
Expand Down Expand Up @@ -107,7 +107,7 @@ exit/B %errlev%</Command>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>$(ProjectDir)src;$(ProjectDir)src\simgear\xml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>JSBSIM_EXPORT;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;XML_STATIC;NDEBUG;_CONSOLE;HAVE_EXPAT_CONFIG_H;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>JSBSIM_EXPORT;JSBSIM_VERSION="1.2.1.dev1";WIN32;NOMINMAX;XML_STATIC;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
Expand Down Expand Up @@ -409,4 +409,4 @@ exit/B %errlev%</Command>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
1 change: 0 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ if(EXPAT_FOUND)
set(ALL_LINK_LIBRARIES ${EXPAT_LIBRARIES})
endif()
else()
list(APPEND COMPILE_DEFINITIONS HAVE_EXPAT_CONFIG_H XML_DEV_URANDOM)
list(APPEND MSVC_COMPILE_DEFINITIONS XML_STATIC)
endif(EXPAT_FOUND)

Expand Down
31 changes: 21 additions & 10 deletions src/simgear/xml/expat.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@
Copyright (c) 2000-2005 Fred L. Drake, Jr. <[email protected]>
Copyright (c) 2001-2002 Greg Stein <[email protected]>
Copyright (c) 2002-2016 Karl Waclawek <[email protected]>
Copyright (c) 2016-2022 Sebastian Pipping <[email protected]>
Copyright (c) 2016-2024 Sebastian Pipping <[email protected]>
Copyright (c) 2016 Cristian Rodríguez <[email protected]>
Copyright (c) 2016 Thomas Beutlich <[email protected]>
Copyright (c) 2017 Rhodri James <[email protected]>
Copyright (c) 2022 Thijs Schreijer <[email protected]>
Copyright (c) 2023 Hanno Böck <[email protected]>
Copyright (c) 2023 Sony Corporation / Snild Dolkow <[email protected]>
Copyright (c) 2024 Taichi Haradaguchi <[email protected]>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
Expand Down Expand Up @@ -269,7 +272,7 @@ XML_ParserCreate_MM(const XML_Char *encoding,
const XML_Memory_Handling_Suite *memsuite,
const XML_Char *namespaceSeparator);

/* Prepare a parser object to be re-used. This is particularly
/* Prepare a parser object to be reused. This is particularly
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
Expand Down Expand Up @@ -951,7 +954,7 @@ XMLPARSEAPI(XML_Index) XML_GetCurrentByteIndex(XML_Parser parser);
XMLPARSEAPI(int)
XML_GetCurrentByteCount(XML_Parser parser);

/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets
/* If XML_CONTEXT_BYTES is >=1, returns the input buffer, sets
the integer pointed to by offset to the offset within this buffer
of the current parse position, and sets the integer pointed to by size
to the size of this buffer (the number of input bytes). Otherwise
Expand Down Expand Up @@ -1025,7 +1028,9 @@ enum XML_FeatureEnum {
XML_FEATURE_ATTR_INFO,
/* Added in Expat 2.4.0. */
XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT,
XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT
XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT,
/* Added in Expat 2.6.0. */
XML_FEATURE_GE
/* Additional features must be added to the end of this enum. */
};

Expand All @@ -1038,24 +1043,30 @@ typedef struct {
XMLPARSEAPI(const XML_Feature *)
XML_GetFeatureList(void);

#ifdef XML_DTD
/* Added in Expat 2.4.0. */
#if defined(XML_DTD) || (defined(XML_GE) && XML_GE == 1)
/* Added in Expat 2.4.0 for XML_DTD defined and
* added in Expat 2.6.0 for XML_GE == 1. */
XMLPARSEAPI(XML_Bool)
XML_SetBillionLaughsAttackProtectionMaximumAmplification(
XML_Parser parser, float maximumAmplificationFactor);

/* Added in Expat 2.4.0. */
/* Added in Expat 2.4.0 for XML_DTD defined and
* added in Expat 2.6.0 for XML_GE == 1. */
XMLPARSEAPI(XML_Bool)
XML_SetBillionLaughsAttackProtectionActivationThreshold(
XML_Parser parser, unsigned long long activationThresholdBytes);
#endif

/* Added in Expat 2.6.0. */
XMLPARSEAPI(XML_Bool)
XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled);

/* Expat follows the semantic versioning convention.
See http://semver.org.
See https://semver.org
*/
#define XML_MAJOR_VERSION 2
#define XML_MINOR_VERSION 4
#define XML_MICRO_VERSION 8
#define XML_MINOR_VERSION 6
#define XML_MICRO_VERSION 2

#ifdef __cplusplus
}
Expand Down
11 changes: 11 additions & 0 deletions src/simgear/xml/expat_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,20 @@
/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

#if ! defined(_WIN32)
/* Define to include code reading entropy from `/dev/urandom'. */
#define XML_DEV_URANDOM
#endif

/* Define to make XML Namespaces functionality available. */
#define XML_NS

/* Define to make parameter entity parsing functionality available. */
#define XML_DTD

/* Enable support for general entities. */
#define XML_GE 1

#ifdef WORDS_BIGENDIAN
#define XML_BYTE_ORDER 21
#else
Expand Down
19 changes: 16 additions & 3 deletions src/simgear/xml/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@
Copyright (c) 2002-2003 Fred L. Drake, Jr. <[email protected]>
Copyright (c) 2002-2006 Karl Waclawek <[email protected]>
Copyright (c) 2003 Greg Stein <[email protected]>
Copyright (c) 2016-2021 Sebastian Pipping <[email protected]>
Copyright (c) 2016-2024 Sebastian Pipping <[email protected]>
Copyright (c) 2018 Yury Gribov <[email protected]>
Copyright (c) 2019 David Loffredo <[email protected]>
Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow <[email protected]>
Copyright (c) 2024 Taichi Haradaguchi <[email protected]>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
Expand Down Expand Up @@ -107,7 +109,9 @@

#include <limits.h> // ULONG_MAX

#if defined(_WIN32) && ! defined(__USE_MINGW_ANSI_STDIO)
#if defined(_WIN32) \
&& (! defined(__USE_MINGW_ANSI_STDIO) \
|| (1 - __USE_MINGW_ANSI_STDIO - 1 == 0))
# define EXPAT_FMT_ULL(midpart) "%" midpart "I64u"
# if defined(_WIN64) // Note: modifiers "td" and "zu" do not work for MinGW
# define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "I64d"
Expand Down Expand Up @@ -152,12 +156,21 @@ extern "C" {
void _INTERNAL_trim_to_complete_utf8_characters(const char *from,
const char **fromLimRef);

#if defined(XML_DTD)
#if defined(XML_GE) && XML_GE == 1
unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser);
unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser);
const char *unsignedCharToPrintable(unsigned char c);
#endif

extern
#if ! defined(XML_TESTING)
const
#endif
XML_Bool g_reparseDeferralEnabledDefault; // written ONLY in runtests.c
#if defined(XML_TESTING)
extern unsigned int g_bytesScanned; // used for testing only
#endif

#ifdef __cplusplus
}
#endif
10 changes: 5 additions & 5 deletions src/simgear/xml/siphash.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
* if this code is included and compiled as C++; related GCC warning is:
* warning: use of C++11 long long integer constant [-Wlong-long]
*/
#define _SIP_ULL(high, low) (((uint64_t)high << 32) | low)
#define SIP_ULL(high, low) ((((uint64_t)high) << 32) | (low))

#define SIP_ROTL(x, b) (uint64_t)(((x) << (b)) | ((x) >> (64 - (b))))

Expand Down Expand Up @@ -190,10 +190,10 @@ sip_round(struct siphash *H, const int rounds) {

static struct siphash *
sip24_init(struct siphash *H, const struct sipkey *key) {
H->v0 = _SIP_ULL(0x736f6d65U, 0x70736575U) ^ key->k[0];
H->v1 = _SIP_ULL(0x646f7261U, 0x6e646f6dU) ^ key->k[1];
H->v2 = _SIP_ULL(0x6c796765U, 0x6e657261U) ^ key->k[0];
H->v3 = _SIP_ULL(0x74656462U, 0x79746573U) ^ key->k[1];
H->v0 = SIP_ULL(0x736f6d65U, 0x70736575U) ^ key->k[0];
H->v1 = SIP_ULL(0x646f7261U, 0x6e646f6dU) ^ key->k[1];
H->v2 = SIP_ULL(0x6c796765U, 0x6e657261U) ^ key->k[0];
H->v3 = SIP_ULL(0x74656462U, 0x79746573U) ^ key->k[1];

H->p = H->buf;
H->c = 0;
Expand Down
7 changes: 5 additions & 2 deletions src/simgear/xml/winconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
Copyright (c) 2000 Clark Cooper <[email protected]>
Copyright (c) 2002 Greg Stein <[email protected]>
Copyright (c) 2005 Karl Waclawek <[email protected]>
Copyright (c) 2017-2021 Sebastian Pipping <[email protected]>
Copyright (c) 2017-2023 Sebastian Pipping <[email protected]>
Copyright (c) 2023 Orgad Shaneh <[email protected]>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
Expand All @@ -35,7 +36,9 @@
#ifndef WINCONFIG_H
#define WINCONFIG_H

#define WIN32_LEAN_AND_MEAN
#ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN

Expand Down
Loading

0 comments on commit 92ebcca

Please sign in to comment.