Fix an issue with ipv6 struct in6_addr that is not the same in Glibc and Musl #34
+30
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull request to fix issue #31
The issue is due to differences between Glibc and Musl.
For static cross-compilation for linux, Apple use Musl instead of Glibc https://www.swift.org/documentation/articles/static-linux-getting-started.html
So, the code for linux in PTR.swift and DNSClient+Query.swift should in fact be different for Glibc and Musl using
#if canImport(Glibc)
...
#elseif canImport(Musl)
...
#else
Then, the issue is related to differences in header netinet/in.h related to ipv6.
Here are the links to both headers
https://github.com/lattera/glibc/blob/master/inet/netinet/in.h
https://github.com/cloudius-systems/musl/blob/master/include/netinet/in.h
By looking to the differences in the struct in6_addr, I was able to propose this fix.
Regards
Vincent