#include <internal/util/bsd/scoped_ifaddrs.hpp> using namespace std; using namespace leatherman::util; namespace facter { namespace util { namespace bsd { scoped_ifaddrs::scoped_ifaddrs() : scoped_resource(nullptr, free) { // Get the linked list of interfaces if (getifaddrs(&_resource) == -1) { _resource = nullptr; } } scoped_ifaddrs::scoped_ifaddrs(ifaddrs* addrs) : scoped_resource(move(addrs), free) { } void scoped_ifaddrs::free(ifaddrs* addrs) { if (addrs) { ::freeifaddrs(addrs); } } }}} // namespace facter::util::bsd