Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit400928b

Browse files
committed
Fix incompatibilities with libxml2 >= 2.12.0.
libxml2 changed the required signature of error handler callbacksto make the passed xmlError struct "const". This is causing buildfailures on buildfarm member caiman, and no doubt will start showingup in the field quite soon. Add a version check to adjust thedeclaration of xml_errorHandler() according to LIBXML_VERSION.2.12.x also produces deprecation warnings for contrib/xml2/xpath.c'sassignment to xmlLoadExtDtdDefaultValue. I see no good reason forthat to still be there, seeing that we disabled external DTDs (at alower level) years ago for security reasons. Let's just remove it.Back-patch to all supported branches, since they might all get builtwith newer libxml2 once it gets a bit more popular. (The backbranches produce another deprecation warning about xpath.c's use ofxmlSubstituteEntitiesDefault(). We ought to consider whether toback-patch all or part of commit65c5864 to silence that. It'sless urgent though, since it won't break the buildfarm.)Discussion:https://postgr.es/m/1389505.1706382262@sss.pgh.pa.us
1 parent5de890e commit400928b

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

‎contrib/xml2/xpath.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ pgxml_parser_init(PgXmlStrictness strictness)
7474
/* Initialize libxml */
7575
xmlInitParser();
7676

77-
xmlLoadExtDtdDefaultValue=1;
78-
7977
returnxmlerrcxt;
8078
}
8179

‎src/backend/utils/adt/xml.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,16 @@
6767
#ifLIBXML_VERSION >=20704
6868
#defineHAVE_XMLSTRUCTUREDERRORCONTEXT 1
6969
#endif
70+
71+
/*
72+
* libxml2 2.12 decided to insert "const" into the error handler API.
73+
*/
74+
#ifLIBXML_VERSION >=21200
75+
#definePgXmlErrorPtr const xmlError *
76+
#else
77+
#definePgXmlErrorPtr xmlErrorPtr
78+
#endif
79+
7080
#endif/* USE_LIBXML */
7181

7282
#include"access/htup_details.h"
@@ -124,7 +134,7 @@ static xmlParserInputPtr xmlPgEntityLoader(const char *URL, const char *ID,
124134
xmlParserCtxtPtrctxt);
125135
staticvoidxml_errsave(Node*escontext,PgXmlErrorContext*errcxt,
126136
intsqlcode,constchar*msg);
127-
staticvoidxml_errorHandler(void*data,xmlErrorPtrerror);
137+
staticvoidxml_errorHandler(void*data,PgXmlErrorPtrerror);
128138
staticinterrdetail_for_xml_code(intcode);
129139
staticvoidchopStringInfoNewlines(StringInfostr);
130140
staticvoidappendStringInfoLineSeparator(StringInfostr);
@@ -2024,7 +2034,7 @@ xml_errsave(Node *escontext, PgXmlErrorContext *errcxt,
20242034
* Error handler for libxml errors and warnings
20252035
*/
20262036
staticvoid
2027-
xml_errorHandler(void*data,xmlErrorPtrerror)
2037+
xml_errorHandler(void*data,PgXmlErrorPtrerror)
20282038
{
20292039
PgXmlErrorContext*xmlerrcxt= (PgXmlErrorContext*)data;
20302040
xmlParserCtxtPtrctxt= (xmlParserCtxtPtr)error->ctxt;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp