Skip to content

Commit

Permalink
fix build with libxml2 2.12.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Karry committed Nov 22, 2023
1 parent e43fa19 commit db7b307
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
10 changes: 9 additions & 1 deletion libosmscout-gpx/src/osmscoutgpx/Import.cpp
Expand Up @@ -335,12 +335,20 @@ class GpxParser{
return xmlGetPredefinedEntity(name);
}

static void StructuredErrorHandler(void* data, xmlErrorPtr error)
// overloaded method for libxml2 >= 2.12.0
static void StructuredErrorHandler(void* data, const xmlError *error)
{
auto* parser=static_cast<GpxParser*>(data);
parser->Error("XML error, line " + std::to_string(error->line) + ": " + error->message);
}

// overloaded method for libxml2 < 2.12.0
[[maybe_unused]]
static void StructuredErrorHandler(void* data, xmlErrorPtr error)
{
StructuredErrorHandler(data, static_cast<const xmlError*>(error));
}

static void WarningHandler(void* data, const char* msg,...)
{
auto* parser=static_cast<GpxParser*>(data);
Expand Down
10 changes: 9 additions & 1 deletion libosmscout-import/src/osmscoutimport/PreprocessOSM.cpp
Expand Up @@ -339,11 +339,19 @@ namespace osmscout {
return xmlGetPredefinedEntity(name);
}

static void StructuredErrorHandler(void* /*data*/, xmlErrorPtr error)
// overloaded method for libxml2 >= 2.12.0
static void StructuredErrorHandler(void* /*data*/, const xmlError *error)
{
std::cerr << "XML error, line " << error->line << ": " << error->message << std::endl;
}

// overloaded method for libxml2 < 2.12.0
[[maybe_unused]]
static void StructuredErrorHandler(void* data, xmlErrorPtr error)
{
StructuredErrorHandler(data, static_cast<const xmlError*>(error));
}

static void WarningHandler(void* /*data*/, const char* msg,...)
{
std::cerr << "XML warning:" << msg << std::endl;
Expand Down

0 comments on commit db7b307

Please sign in to comment.