delef / maxminddb.cr

MaxMind DB Reader for Crystal
MIT License
23 stars 5 forks source link

Improve: IPAddress.ipv6_to_bytes Musl Platform support #9

Closed 636f7374 closed 4 years ago

636f7374 commented 4 years ago

Summary

Solution

    {% if flag?(:darwin) || flag?(:openbsd) || flag?(:freebsd) %}
      ipv6_address = pointer.value.sin6_addr.__u6_addr.__u6_addr8
      memory.write ipv6_address.to_slice
    {% elsif flag?(:linux) && flag?(:musl) %}
      ipv6_address = pointer.value.sin6_addr.__in6_union.__s6_addr
      memory.write ipv6_address.to_slice
    {% elsif flag?(:linux) %}
      ipv6_address = pointer.value.sin6_addr.__in6_u.__u6_addr8
      memory.write ipv6_address.to_slice
    {% else %}
      return
    {% end %}
636f7374 commented 4 years ago

If needed.