]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rec: Fix Lua-enabled compilation on OS X and FreeBSD 4440/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 8 Sep 2016 08:34:45 +0000 (10:34 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 8 Sep 2016 08:34:45 +0000 (10:34 +0200)
pdns/lua-recursor4.cc

index ab3637c2e5a23371871379bbcc1faea29ced70dd..f4d29ff793a6e40cdebaeb7dcc63f54fe494d49c 100644 (file)
@@ -263,8 +263,8 @@ RecursorLua4::RecursorLua4(const std::string& fname)
       return DNSName(boost::get<const DNSName>(dom));
   });
   d_lw->registerFunction("isPartOf", &DNSName::isPartOf);
-  d_lw->registerFunction("countLabels", &DNSName::countLabels);
-  d_lw->registerFunction("wirelength", &DNSName::wirelength);
+  d_lw->registerFunction<unsigned int(DNSName::*)()>("countLabels", [](const DNSName& name) { return name.countLabels(); });
+  d_lw->registerFunction<size_t(DNSName::*)()>("wirelength", [](const DNSName& name) { return name.wirelength(); });
   d_lw->registerFunction<bool(DNSName::*)(const std::string&)>(
     "equal",
      [](const DNSName& lhs, const std::string& rhs) {
@@ -285,9 +285,9 @@ RecursorLua4::RecursorLua4(const std::string& fname)
     } );
   d_lw->registerFunction<bool(ComboAddress::*)()>("isIPv4", [](const ComboAddress& ca) { return ca.sin4.sin_family == AF_INET; });
   d_lw->registerFunction<bool(ComboAddress::*)()>("isIPv6", [](const ComboAddress& ca) { return ca.sin4.sin_family == AF_INET6; });
-  d_lw->registerFunction("isMappedIPv4", &ComboAddress::isMappedIPv4);
-  d_lw->registerFunction("mapToIPv4", &ComboAddress::mapToIPv4);
-  d_lw->registerFunction("truncate", &ComboAddress::truncate);
+  d_lw->registerFunction<bool(ComboAddress::*)()>("isMappedIPv4", [](const ComboAddress& ca) { return ca.isMappedIPv4(); });
+  d_lw->registerFunction<ComboAddress(ComboAddress::*)()>("mapToIPv4", [](const ComboAddress& ca) { return ca.mapToIPv4(); });
+  d_lw->registerFunction<void(ComboAddress::*)(unsigned int)>("truncate", [](ComboAddress& ca, unsigned int bits) { ca.truncate(bits); });
 
   d_lw->writeFunction("newCA", [](const std::string& a) { return ComboAddress(a); });
   typedef std::unordered_set<ComboAddress,ComboAddress::addressOnlyHash,ComboAddress::addressOnlyEqual> cas_t;