pmaports/luna/qt5-qtwebengine/patches-musl/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
Oliver Smith ca92b35948 Disable LuneOS UI (see #1459) [skip ci]
Moved from aports/main to aports/luna, so we can disable the entire
folder from building in the binary repository:
* qt5-qtwebengine
* postmarketos-ui-luna
2018-05-02 22:38:19 +02:00

79 lines
2.5 KiB
Diff

From 505fcfa52c49c9975e63066f631244ace6061d3c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 7 Jul 2017 15:27:50 -0700
Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc
platforms
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
chromium/net/dns/dns_config_service_posix.cc | 4 ++++
chromium/net/dns/dns_reloader.cc | 4 ++++
chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++++++++++
3 files changed, 37 insertions(+)
create mode 100644 chromium/net/dns/resolv_compat.h
diff --git a/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc b/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
index ba8a369133..e9b40d07fc 100644
--- a/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
+++ b/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
@@ -25,6 +25,10 @@
#include "net/dns/notify_watcher_mac.h"
#include "net/dns/serial_worker.h"
+#if defined(OS_LINUX) && !defined(__GLIBC__)
+#include "net/dns/resolv_compat.h"
+#endif
+
#if defined(OS_MACOSX) && !defined(OS_IOS)
#include "net/dns/dns_config_watcher_mac.h"
#endif
diff --git a/src/3rdparty/chromium/net/dns/dns_reloader.cc b/src/3rdparty/chromium/net/dns/dns_reloader.cc
index 74534e6b1b..2780a776e4 100644
--- a/src/3rdparty/chromium/net/dns/dns_reloader.cc
+++ b/src/3rdparty/chromium/net/dns/dns_reloader.cc
@@ -9,6 +9,10 @@
#include <resolv.h>
+#if defined(OS_LINUX) && !defined(__GLIBC__)
+#include "net/dns/resolv_compat.h"
+#endif
+
#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/macros.h"
diff --git a/src/3rdparty/chromium/net/dns/resolv_compat.h b/src/3rdparty/chromium/net/dns/resolv_compat.h
new file mode 100644
index 0000000000..4f0e852a19
--- /dev/null
+++ b/src/3rdparty/chromium/net/dns/resolv_compat.h
@@ -0,0 +1,29 @@
+#if !defined(__GLIBC__)
+/***************************************************************************
+ * resolv_compat.h
+ *
+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
+ * Note: res_init() is actually deprecated according to
+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
+ **************************************************************************/
+#include <string.h>
+
+static inline int res_ninit(res_state statp)
+{
+ int rc = res_init();
+ if (statp != &_res) {
+ memcpy(statp, &_res, sizeof(*statp));
+ }
+ return rc;
+}
+
+static inline int res_nclose(res_state statp)
+{
+ if (!statp)
+ return -1;
+ if (statp != &_res) {
+ memset(statp, 0, sizeof(*statp));
+ }
+ return 0;
+}
+#endif