blob: 04b743979b8d544e018342db9df240307b394887 [file] [log] [blame]
From 8598469528af29192af121a8820a6b5e344880bc Mon Sep 17 00:00:00 2001
From: Olabode Anise <anise@chromium.org>
Date: Sun, 29 Aug 2021 20:56:43 -0700
Subject: [PATCH] using chrome's zlib library and std::once_flag
---
third_party/maldoca/src/maldoca/ole/oss_utils.cc | 8 ++++++++
.../maldoca/src/third_party/zlibwrapper/zlibwrapper.h | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/third_party/maldoca/src/maldoca/ole/oss_utils.cc b/third_party/maldoca/src/maldoca/ole/oss_utils.cc
index 45e3f8936729..07402f956855 100644
--- a/third_party/maldoca/src/maldoca/ole/oss_utils.cc
+++ b/third_party/maldoca/src/maldoca/ole/oss_utils.cc
@@ -53,7 +53,11 @@ namespace maldoca {
namespace utils {
namespace {
xmlSAXHandler sax_handler;
+#if defined (OS_WIN)
+std::once_flag once_init;
+#else
absl::once_flag once_init;
+#endif
void InitSAXHandler() {
xmlSAXVersion(&sax_handler, 2);
@@ -955,7 +959,11 @@ bool BufferToUtf8::ConvertEncodingBufferToUTF8String(absl::string_view input,
}
xmlDocPtr XmlParseMemory(const char* buffer, int size) {
+ #if defined(OS_WIN)
+ std::call_once(once_init, &InitSAXHandler);
+ #else
absl::call_once(once_init, &InitSAXHandler);
+ #endif
return xmlSAXParseMemory(&sax_handler, buffer, size, 0);
}
diff --git a/third_party/maldoca/src/third_party/zlibwrapper/zlibwrapper.h b/third_party/maldoca/src/third_party/zlibwrapper/zlibwrapper.h
index d534fb048f3e..25ecf0ff6aad 100644
--- a/third_party/maldoca/src/third_party/zlibwrapper/zlibwrapper.h
+++ b/third_party/maldoca/src/third_party/zlibwrapper/zlibwrapper.h
@@ -17,7 +17,7 @@
* limitations under the License.
*/
-#include "zlib.h"
+#include "third_party/zlib/zlib.h"
class GZipHeader;
--
2.30.2.windows.1