#include <memory>
struct ObjType {
};
static void freeaddrinfo(ObjType *)
{
}
int main(int,char**)
{
auto deleter =
[](ObjType *ptr){
if (ptr!=nullptr) { freeaddrinfo(ptr); }
};
std::unique_ptr<ObjType,decltype(deleter)> ptr(new ObjType,deleter);
return 0;
}
I2luY2x1ZGUgPG1lbW9yeT4KCnN0cnVjdCBPYmpUeXBlIHsKfTsKCnN0YXRpYyB2b2lkIGZyZWVhZGRyaW5mbyhPYmpUeXBlICopCnsKfQoKaW50IG1haW4oaW50LGNoYXIqKikKewogIGF1dG8gZGVsZXRlciA9CiAgICBbXShPYmpUeXBlICpwdHIpewogICAgICBpZiAocHRyIT1udWxscHRyKSB7IGZyZWVhZGRyaW5mbyhwdHIpOyB9CiAgICB9OwogIHN0ZDo6dW5pcXVlX3B0cjxPYmpUeXBlLGRlY2x0eXBlKGRlbGV0ZXIpPiBwdHIobmV3IE9ialR5cGUsZGVsZXRlcik7CiAgcmV0dXJuIDA7Cn0K