expat: bump version

This commit is contained in:
Jerome Duval
2022-02-19 17:51:08 +01:00
parent 60d4c352bd
commit 5212f28802
2 changed files with 69 additions and 35 deletions

View File

@@ -4,17 +4,17 @@ stream-oriented parser in which an application registers handlers for things \
the parser might find in the XML document (like start tags)."
HOMEPAGE="http://expat.sourceforge.net/"
COPYRIGHT="1998-2000 Thai Open Source Software Center Ltd and Clark Cooper
2001-2018 Expat maintainers."
2001-2022 Expat maintainers."
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://downloads.sourceforge.net/expat/expat-$portVersion.tar.bz2"
CHECKSUM_SHA256="6f262e216a494fbf42d8c22bc841b3e117c21f2467a19dc4c27c991b5622f986"
CHECKSUM_SHA256="fbb430f964c7a2db2626452b6769e6a8d5d23593a453ccbc21701b74deabedff"
PATCHES="expat-$portVersion.patchset"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
libVersion=1.8.3
libVersion=1.8.5
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
portVersionCompat="$portVersion compat >= 2.2"

View File

@@ -1,14 +1,34 @@
From e8840419856ac4dc9c369894cbf2c834dcea774c Mon Sep 17 00:00:00 2001
From ece0e0b6af5bb07e289f80416fab429fc001fd2b 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 b2f5fc6..c129793 100644
index c479a25..8a3649c 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -3455,7 +3455,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
@@ -718,7 +718,8 @@ XML_ParserCreate(const XML_Char *encodingName) {
XML_Parser XMLCALL
XML_ParserCreateNS(const XML_Char *encodingName, XML_Char nsSep) {
- XML_Char tmp[2] = {nsSep, 0};
+ XML_Char tmp[2] = {0, 0};
+ tmp[0] = nsSep;
return XML_ParserCreate_MM(encodingName, NULL, tmp);
}
@@ -1343,7 +1344,8 @@ XML_ExternalEntityParserCreate(XML_Parser oldParser, const XML_Char *context,
would be otherwise.
*/
if (parser->m_ns) {
- XML_Char tmp[2] = {parser->m_namespaceSeparator, 0};
+ XML_Char tmp[2] = {0, 0};
+ tmp[0] = parser->m_namespaceSeparator;
parser = parserCreate(encodingName, &parser->m_mem, tmp, newDtd);
} else {
parser = parserCreate(encodingName, &parser->m_mem, NULL, newDtd);
@@ -3464,7 +3466,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
if (parser->m_nsAttsPower >= sizeof(unsigned int) * 8 /* bits per byte */) {
return XML_ERROR_NO_MEMORY;
}
@@ -17,7 +37,7 @@ index b2f5fc6..c129793 100644
unsigned int nsAttsSize = 1u << parser->m_nsAttsPower;
unsigned char oldNsAttsPower = parser->m_nsAttsPower;
/* size of hash table must be at least 2 * (# of prefixed attributes) */
@@ -3612,6 +3612,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
@@ -3621,6 +3623,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr,
} else /* not prefixed */
((XML_Char *)s)[-1] = 0; /* clear flag */
}
@@ -25,7 +45,7 @@ index b2f5fc6..c129793 100644
}
/* clear flags for the remaining attributes */
for (; i < attIndex; i += 2)
@@ -3780,13 +3781,14 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
@@ -3800,13 +3803,14 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
return XML_ERROR_NO_MEMORY;
}
#endif
@@ -41,7 +61,7 @@ index b2f5fc6..c129793 100644
}
parser->m_freeBindingList = b->nextTagBinding;
} else {
@@ -5138,7 +5140,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
@@ -5158,7 +5162,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
if (parser->m_groupSize > (unsigned int)(-1) / 2u) {
return XML_ERROR_NO_MEMORY;
}
@@ -50,7 +70,7 @@ index b2f5fc6..c129793 100644
char *const new_connector = (char *)REALLOC(
parser, parser->m_groupConnector, parser->m_groupSize *= 2);
if (new_connector == NULL) {
@@ -5146,6 +5148,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
@@ -5166,6 +5170,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
return XML_ERROR_NO_MEMORY;
}
parser->m_groupConnector = new_connector;
@@ -58,7 +78,7 @@ index b2f5fc6..c129793 100644
}
if (dtd->scaffIndex) {
@@ -5158,12 +5161,13 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
@@ -5178,12 +5183,13 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end,
return XML_ERROR_NO_MEMORY;
}
#endif
@@ -73,7 +93,7 @@ index b2f5fc6..c129793 100644
}
} else {
parser->m_groupConnector
@@ -6234,7 +6238,7 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
@@ -6260,7 +6266,7 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
if (type->allocDefaultAtts > INT_MAX / 2) {
return 0;
}
@@ -82,7 +102,7 @@ index b2f5fc6..c129793 100644
int count = type->allocDefaultAtts * 2;
/* Detect and prevent integer overflow.
@@ -6253,7 +6257,8 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
@@ -6279,7 +6285,8 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
return 0;
type->allocDefaultAtts = count;
type->defaultAtts = temp;
@@ -92,7 +112,7 @@ index b2f5fc6..c129793 100644
}
att = type->defaultAtts + type->nDefaultAtts;
att->id = attId;
@@ -6902,7 +6907,7 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) {
@@ -6928,7 +6935,7 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) {
if (newPower >= sizeof(unsigned long) * 8 /* bits per byte */) {
return NULL;
}
@@ -101,27 +121,24 @@ index b2f5fc6..c129793 100644
size_t newSize = (size_t)1 << newPower;
unsigned long newMask = (unsigned long)newSize - 1;
@@ -6911,7 +6916,9 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) {
@@ -6937,6 +6944,7 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) {
return NULL;
}
- size_t tsize = newSize * sizeof(NAMED *);
+
+{
+ size_t tsize = newSize * sizeof(NAMED *);
NAMED **newV = (NAMED **)table->mem->malloc_fcn(tsize);
size_t tsize = newSize * sizeof(NAMED *);
NAMED **newV = table->mem->malloc_fcn(tsize);
if (! newV)
return NULL;
@@ -6940,6 +6947,8 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) {
@@ -6966,6 +6974,8 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) {
i < step ? (i += newSize - step) : (i -= step);
}
}
+}
+ }
}
table->v[i] = (NAMED *)table->mem->malloc_fcn(createSize);
table->v[i] = table->mem->malloc_fcn(createSize);
if (! table->v[i])
@@ -7360,11 +7369,12 @@ build_model(XML_Parser parser) {
@@ -7357,11 +7367,12 @@ build_model(XML_Parser parser) {
> (size_t)(-1) - dtd->contentStringLen * sizeof(XML_Char)) {
return NULL;
}
@@ -135,7 +152,24 @@ index b2f5fc6..c129793 100644
if (! ret)
return NULL;
@@ -7443,7 +7453,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) {
@@ -7394,6 +7405,7 @@ build_model(XML_Parser parser) {
* to meet, but that is safe because we get the source index out
* before doing any writes on that node.
*/
+{
XML_Content *dest = ret; /* tree node writing location, moves upwards */
XML_Content *const destLimit = &ret[dtd->scaffCount];
XML_Content *const stackBottom = &ret[dtd->scaffCount];
@@ -7439,7 +7451,7 @@ build_model(XML_Parser parser) {
}
}
}
-
+}
return ret;
}
@@ -7511,7 +7523,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) {
if (rootParser->m_accounting.debugLevel < 1) {
return;
}
@@ -144,7 +178,7 @@ index b2f5fc6..c129793 100644
const float amplificationFactor
= accountingGetCurrentAmplification(rootParser);
fprintf(stderr,
@@ -7453,6 +7463,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) {
@@ -7521,6 +7533,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) {
rootParser->m_accounting.countBytesIndirect,
(double)amplificationFactor, epilog);
}
@@ -152,7 +186,7 @@ index b2f5fc6..c129793 100644
static void
accountingOnAbort(XML_Parser originParser) {
@@ -7471,6 +7482,7 @@ accountingReportDiff(XML_Parser rootParser,
@@ -7539,6 +7552,7 @@ accountingReportDiff(XML_Parser rootParser,
bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
levelsAwayFromRootParser, source_line, 10, "");
@@ -160,7 +194,7 @@ index b2f5fc6..c129793 100644
const char ellipis[] = "[..]";
const size_t ellipsisLength = sizeof(ellipis) /* because compile-time */ - 1;
const unsigned int contextLength = 10;
@@ -7495,6 +7507,7 @@ accountingReportDiff(XML_Parser rootParser,
@@ -7563,6 +7577,7 @@ accountingReportDiff(XML_Parser rootParser,
}
fprintf(stderr, "\"\n");
}
@@ -168,7 +202,7 @@ index b2f5fc6..c129793 100644
static XML_Bool
accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
@@ -7513,12 +7526,13 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
@@ -7581,12 +7596,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 */
@@ -183,7 +217,7 @@ index b2f5fc6..c129793 100644
const int isDirect
= (account == XML_ACCOUNT_DIRECT) && (originParser == rootParser);
const ptrdiff_t bytesMore = after - before;
@@ -7531,7 +7545,7 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
@@ -7599,7 +7615,7 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
if (*additionTarget > (XmlBigCount)(-1) - (XmlBigCount)bytesMore)
return XML_FALSE;
*additionTarget += bytesMore;
@@ -192,7 +226,7 @@ index b2f5fc6..c129793 100644
const XmlBigCount countBytesOutput
= rootParser->m_accounting.countBytesDirect
+ rootParser->m_accounting.countBytesIndirect;
@@ -7550,6 +7564,9 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
@@ -7618,6 +7634,9 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before,
return tolerated;
}
@@ -202,7 +236,7 @@ index b2f5fc6..c129793 100644
unsigned long long
testingAccountingGetCountBytesDirect(XML_Parser parser) {
@@ -7572,6 +7589,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,
@@ -7640,6 +7659,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,
if (rootParser->m_entity_stats.debugLevel < 1)
return;
@@ -210,7 +244,7 @@ index b2f5fc6..c129793 100644
# if defined(XML_UNICODE)
const char *const entityName = "[..]";
# else
@@ -7588,6 +7606,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,
@@ -7656,6 +7676,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity,
entity->is_param ? "%" : "&", entityName, action, entity->textLen,
sourceLine);
}
@@ -218,7 +252,7 @@ index b2f5fc6..c129793 100644
static void
entityTrackingOnOpen(XML_Parser originParser, ENTITY *entity, int sourceLine) {
@@ -8158,9 +8177,11 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) {
@@ -8226,9 +8247,11 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) {
if (valueOrNull == NULL) {
return defaultDebugLevel;
}
@@ -230,14 +264,14 @@ index b2f5fc6..c129793 100644
char *afterValue = (char *)value;
unsigned long debugLevel = strtoul(value, &afterValue, 10);
if ((errno != 0) || (afterValue[0] != '\0')) {
@@ -8170,3 +8191,5 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) {
@@ -8238,3 +8261,5 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) {
return debugLevel;
}
+}
+}
diff --git a/xmlwf/xmlwf.c b/xmlwf/xmlwf.c
index 29118bb..fae4801 100644
index b0cd212..4ccb9a6 100644
--- a/xmlwf/xmlwf.c
+++ b/xmlwf/xmlwf.c
@@ -1050,6 +1050,7 @@ tmain(int argc, XML_Char **argv) {