Merge branch 'master' into 'master'
Haiku: proper path to resolv.conf for DNS server
See merge request slirp/libslirp!99
diff --git a/src/slirp.c b/src/slirp.c
index 5d60cb5..9d3fee3 100644
--- a/src/slirp.c
+++ b/src/slirp.c
@@ -218,6 +218,12 @@
#else // !defined(_WIN32) && !defined(__APPLE__)
+#if defined(__HAIKU__)
+#define RESOLV_CONF_PATH "/boot/system/settings/network/resolv.conf"
+#else
+#define RESOLV_CONF_PATH "/etc/resolv.conf"
+#endif
+
static int get_dns_addr_cached(void *pdns_addr, void *cached_addr,
socklen_t addrlen, struct stat *cached_stat,
unsigned *cached_time)
@@ -228,7 +234,7 @@
return 0;
}
old_stat = *cached_stat;
- if (stat("/etc/resolv.conf", cached_stat) != 0) {
+ if (stat(RESOLV_CONF_PATH, cached_stat) != 0) {
return -1;
}
if (cached_stat->st_dev == old_stat.st_dev &&
@@ -256,7 +262,7 @@
unsigned if_index;
assert(sizeof(tmp_addr) >= addrlen);
- f = fopen("/etc/resolv.conf", "r");
+ f = fopen(RESOLV_CONF_PATH, "r");
if (!f)
return -1;