#include <iostream>
#include <memory>
void slotLogin()
{
auto socket_cleanup = [](int* ptr){
std::cout << "socket_cleanup is called" << std::endl;
};
auto libssh2_init_cleanup = [](int* ptr){
std::cout << "libssh2_init_cleanup is called" << std::endl;
};
auto socket = std::unique_ptr<int, decltype(socket_cleanup)>(new int()/*::connect(...)*/, socket_cleanup);
auto libssh2_init = std::unique_ptr<int, decltype(libssh2_init_cleanup)>(new int()/*libssh2_init(...)*/, libssh2_init_cleanup);
}
int main() {
slotLogin();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgoKCnZvaWQgc2xvdExvZ2luKCkKewoJYXV0byBzb2NrZXRfY2xlYW51cCA9IFtdKGludCogcHRyKXsKCQlzdGQ6OmNvdXQgPDwgInNvY2tldF9jbGVhbnVwIGlzIGNhbGxlZCIgPDwgc3RkOjplbmRsOwoJfTsKCglhdXRvIGxpYnNzaDJfaW5pdF9jbGVhbnVwID0gW10oaW50KiBwdHIpewoJCXN0ZDo6Y291dCA8PCAibGlic3NoMl9pbml0X2NsZWFudXAgaXMgY2FsbGVkIiA8PCBzdGQ6OmVuZGw7Cgl9OwoJCglhdXRvIHNvY2tldCA9IHN0ZDo6dW5pcXVlX3B0cjxpbnQsIGRlY2x0eXBlKHNvY2tldF9jbGVhbnVwKT4obmV3IGludCgpLyo6OmNvbm5lY3QoLi4uKSovLCBzb2NrZXRfY2xlYW51cCk7CglhdXRvIGxpYnNzaDJfaW5pdCA9IHN0ZDo6dW5pcXVlX3B0cjxpbnQsIGRlY2x0eXBlKGxpYnNzaDJfaW5pdF9jbGVhbnVwKT4obmV3IGludCgpLypsaWJzc2gyX2luaXQoLi4uKSovLCBsaWJzc2gyX2luaXRfY2xlYW51cCk7Cn0KCmludCBtYWluKCkgewoJc2xvdExvZ2luKCk7CglyZXR1cm4gMDsKfQ==