aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2020-03-17 17:55:18 +0000
committerMarc-André Lureau <marcandre.lureau@gmail.com>2020-03-17 17:55:18 +0000
commit7012a2c62e5b54eab88c119383022ec7ce86e9b2 (patch)
treedab1d32b8f1779c5af3c0e24fd2dc93fda298908
parent3f8f6826ac012f82a7c80beccc0240eac053f403 (diff)
parenteb200b428b15f24e636a65ee314e1dd10611971f (diff)
downloadslirp-7012a2c62e5b54eab88c119383022ec7ce86e9b2.zip
slirp-7012a2c62e5b54eab88c119383022ec7ce86e9b2.tar.gz
slirp-7012a2c62e5b54eab88c119383022ec7ce86e9b2.tar.bz2
Merge branch 'mingw-fix' into 'master'
Fix mingw scope-id warning See merge request slirp/libslirp!35
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--src/socket.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f8ef14b..11a7ec6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,14 +11,14 @@ before_script:
build:
script:
- - meson build || (cat build/meson-logs/meson-log.txt && exit 1)
+ - meson --werror build || (cat build/meson-logs/meson-log.txt && exit 1)
- ninja -C build
- (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
- ninja -C build scan-build
build-mingw64:
script:
- - (mkdir buildw && cd buildw && mingw64-meson) || (cat buildw/meson-logs/meson-log.txt && exit 1)
+ - (mkdir buildw && cd buildw && mingw64-meson --werror) || (cat buildw/meson-logs/meson-log.txt && exit 1)
- ninja -C buildw
build-qemu:
diff --git a/src/socket.c b/src/socket.c
index 6ad9c30..4cd9a64 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -840,7 +840,12 @@ static bool sotranslate_out4(Slirp *s, struct socket *so, struct sockaddr_in *si
static bool sotranslate_out6(Slirp *s, struct socket *so, struct sockaddr_in6 *sin)
{
if (in6_equal(&so->so_faddr6, &s->vnameserver_addr6)) {
- return get_dns6_addr(&sin->sin6_addr, &sin->sin6_scope_id) >= 0;
+ uint32_t scope_id;
+ if (get_dns6_addr(&sin->sin6_addr, &scope_id) >= 0) {
+ sin->sin6_scope_id = scope_id;
+ return true;
+ }
+ return false;
}
if (in6_equal_net(&so->so_faddr6, &s->vprefix_addr6, s->vprefix_len) ||