diff --git a/src/server/vomsd.cc b/src/server/vomsd.cc index a25d5ae7..1e1ff145 100644 --- a/src/server/vomsd.cc +++ b/src/server/vomsd.cc @@ -1137,9 +1137,9 @@ bool VOMSServer::makeAC(vomsresult& vr, EVP_PKEY *key, X509 *issuer, if (!existing.empty()) { LOGM(VARP, logh, LEV_DEBUG, T_PRE, "User comes with valid fqans for this VO. Computing fqans intersection."); - if (fqans.erase(remove_if(fqans.begin(), - fqans.end(), - bind2nd(std::ptr_fun(not_in), existing)), + if (fqans.erase(std::remove_if(fqans.begin(), + fqans.end(), + [&](std::string const& s) { return not_in(s, existing); }), fqans.end()) != fend) { LOGM(VARP, logh, LEV_DEBUG, T_PRE, "Only a subset of the requested attributes will be returned."); @@ -1151,8 +1151,8 @@ bool VOMSServer::makeAC(vomsresult& vr, EVP_PKEY *key, X509 *issuer, { LOGM(VARP, logh, LEV_DEBUG, T_PRE, "Dropping generic attributes for fqans which cannot be issued for current request."); - attribs.erase(remove_if(attribs.begin(), attribs.end(), - bind2nd(std::ptr_fun(checkinside), fqans)), + attribs.erase(std::remove_if(attribs.begin(), attribs.end(), + [&](gattrib const& a) { return checkinside(a, fqans); }), attribs.end()); }