diff options
author | Determinant <ted.sybil@gmail.com> | 2019-06-17 01:50:29 -0400 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2019-06-17 01:50:29 -0400 |
commit | 8ac5ed4cf4518053c81122c01cd4a665aca0a549 (patch) | |
tree | 08fb7f4d07289d0e73dc602f909f2927994c152d /netaddr.go | |
parent | 3ba5b6536e730baf01efb3203be280c3e61319bd (diff) |
clean up code
Diffstat (limited to 'netaddr.go')
-rw-r--r-- | netaddr.go | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -5,12 +5,14 @@ package salticidae import "C" import "runtime" -type netAddr struct { - inner *C.netaddr_t -} - +type CNetAddr = *C.netaddr_t +type netAddr struct { inner CNetAddr } type NetAddr = *netAddr +func NetAddrFromC(ptr CNetAddr) NetAddr { + return &netAddr{ inner: ptr } +} + type netAddrArray struct { inner *C.netaddr_array_t } @@ -49,4 +51,10 @@ func (self NetAddr) GetIP() uint32 { return uint32(C.netaddr_get_ip(self.inner)) func (self NetAddr) GetPort() uint16 { return uint16(C.netaddr_get_port(self.inner)) } +func (self NetAddr) Copy() NetAddr { + res := &netAddr{ inner: C.netaddr_copy(self.inner) } + runtime.SetFinalizer(res, func(self NetAddr) { self.free() }) + return res +} + func (self NetAddrArray) free() { C.netaddr_array_free(self.inner) } |