Files
haikuports/dev-libs/expat/patches/expat-2.4.1.patchset
2021-06-05 14:31:36 +02:00

150 lines
4.6 KiB
Plaintext

From b2815617974146c4bb5bbbae03bee9bc835a9780 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 24 May 2021 20:59:30 +0200
Subject: gcc2 build fix
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 214c93f..cbee330 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -7251,7 +7251,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) {
if (rootParser->m_accounting.debugLevel < 1) {
return;
}
-
+{
const float amplificationFactor
= accountingGetCurrentAmplification(rootParser);
fprintf(stderr,
@@ -7261,6 +7261,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) {
rootParser->m_accounting.countBytesIndirect,
(double)amplificationFactor, epilog);
}
+}
static void
accountingOnAbort(XML_Parser originParser) {
@@ -7279,6 +7280,7 @@ accountingReportDiff(XML_Parser rootParser,
bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
levelsAwayFromRootParser, source_line, 10, "");
+{
const char ellipis[] = "[..]";
const size_t ellipsisLength = sizeof(ellipis) /* because compile-time */ - 1;
const unsigned int contextLength = 10;
@@ -7303,6 +7305,7 @@ accountingReportDiff(XML_Parser rootParser,
}
fprintf(stderr, "\"\n");
}
+}
static XML_Bool
accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
@@ -7321,12 +7324,13 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
if (account == XML_ACCOUNT_NONE)
return XML_TRUE; /* because these bytes have been accounted for, already */
-
+{
unsigned int levelsAwayFromRootParser;
const XML_Parser rootParser
= getRootParserOf(originParser, &levelsAwayFromRootParser);
assert(! rootParser->m_parentParser);
+{
const int isDirect
= (account == XML_ACCOUNT_DIRECT) && (originParser == rootParser);
const ptrdiff_t bytesMore = after - before;
@@ -7339,7 +7343,7 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
if (*additionTarget > (XmlBigCount)(-1) - (XmlBigCount)bytesMore)
return XML_FALSE;
*additionTarget += bytesMore;
-
+{
const XmlBigCount countBytesOutput
= rootParser->m_accounting.countBytesDirect
+ rootParser->m_accounting.countBytesIndirect;
@@ -7358,6 +7362,9 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
return tolerated;
}
+}
+}
+}
unsigned long long
testingAccountingGetCountBytesDirect(XML_Parser parser) {
@@ -7380,6 +7387,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,
if (rootParser->m_entity_stats.debugLevel < 1)
return;
+{
# if defined(XML_UNICODE)
const char *const entityName = "[..]";
# else
@@ -7396,6 +7404,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,
entity->is_param ? "%" : "&", entityName, action, entity->textLen,
sourceLine);
}
+}
static void
entityTrackingOnOpen(XML_Parser originParser, ENTITY *entity, int sourceLine) {
@@ -7966,9 +7975,11 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) {
if (valueOrNull == NULL) {
return defaultDebugLevel;
}
+{
const char *const value = valueOrNull;
errno = 0;
+{
char *afterValue = (char *)value;
unsigned long debugLevel = strtoul(value, &afterValue, 10);
if ((errno != 0) || (afterValue[0] != '\0')) {
@@ -7978,3 +7989,5 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) {
return debugLevel;
}
+}
+}
diff --git a/xmlwf/xmlwf.c b/xmlwf/xmlwf.c
index 342d6c5..d80f285 100644
--- a/xmlwf/xmlwf.c
+++ b/xmlwf/xmlwf.c
@@ -1050,6 +1050,7 @@ tmain(int argc, XML_Char **argv) {
XMLWF_SHIFT_ARG_INTO(valueText, argc, argv, i, j);
errno = 0;
+{
XML_Char *afterValueText = (XML_Char *)valueText;
attackMaximumAmplification = tcstof(valueText, &afterValueText);
if ((errno != 0) || (afterValueText[0] != T('\0'))
@@ -1066,12 +1067,14 @@ tmain(int argc, XML_Char **argv) {
", xmlwf has been compiled without DTD support.\n"));
#endif
break;
+}
}
case T('b'): {
const XML_Char *valueText = NULL;
XMLWF_SHIFT_ARG_INTO(valueText, argc, argv, i, j);
errno = 0;
+{
XML_Char *afterValueText = (XML_Char *)valueText;
attackThresholdBytes = tcstoull(valueText, &afterValueText, 10);
if ((errno != 0) || (afterValueText[0] != T('\0'))) {
@@ -1088,6 +1091,7 @@ tmain(int argc, XML_Char **argv) {
#endif
break;
}
+ }
case T('\0'):
if (j > 1) {
i++;
--
2.30.0