cpp: Fix building with C++11
* lang/cpp/src/importresult.cpp (ImportResult::mergeWith): Replace 'auto' in lambdas with the actual type. -- Generic lambdas require C++14. GnuPG-bug-id: 6141
This commit is contained in:
parent
2e7a61b898
commit
f02c20cc9c
@ -152,17 +152,17 @@ void GpgME::ImportResult::mergeWith(const ImportResult &other)
|
||||
}
|
||||
// was this key also considered during the first import
|
||||
const auto consideredInFirstImports =
|
||||
std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const auto i) {
|
||||
std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const gpgme_import_status_t i) {
|
||||
return i->fpr && !strcmp(i->fpr, fpr);
|
||||
});
|
||||
// did we see this key already in the list of keys of the other import
|
||||
const auto consideredInPreviousOtherImports =
|
||||
std::any_of(std::begin(other.d->imports), it, [fpr](const auto i) {
|
||||
std::any_of(std::begin(other.d->imports), it, [fpr](const gpgme_import_status_t i) {
|
||||
return i->fpr && !strcmp(i->fpr, fpr);
|
||||
});
|
||||
// was anything added to this key during the other import
|
||||
const auto changedInOtherImports =
|
||||
std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const auto i) {
|
||||
std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const gpgme_import_status_t i) {
|
||||
return i->fpr && !strcmp(i->fpr, fpr) && (i->status != 0);
|
||||
});
|
||||
if (consideredInFirstImports && !consideredInPreviousOtherImports) {
|
||||
@ -177,15 +177,15 @@ void GpgME::ImportResult::mergeWith(const ImportResult &other)
|
||||
|
||||
// now do the same for the secret key counts
|
||||
const auto secretKeyConsideredInFirstImports =
|
||||
std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const auto i) {
|
||||
std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const gpgme_import_status_t i) {
|
||||
return i->fpr && !strcmp(i->fpr, fpr) && (i->status & GPGME_IMPORT_SECRET);
|
||||
});
|
||||
const auto secretKeyConsideredInPreviousOtherImports =
|
||||
std::any_of(std::begin(other.d->imports), it, [fpr](const auto i) {
|
||||
std::any_of(std::begin(other.d->imports), it, [fpr](const gpgme_import_status_t i) {
|
||||
return i->fpr && !strcmp(i->fpr, fpr) && (i->status & GPGME_IMPORT_SECRET);
|
||||
});
|
||||
const auto secretKeyChangedInOtherImports =
|
||||
std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const auto i) {
|
||||
std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const gpgme_import_status_t i) {
|
||||
return i->fpr && !strcmp(i->fpr, fpr) && (i->status & GPGME_IMPORT_SECRET) && (i->status != GPGME_IMPORT_SECRET);
|
||||
});
|
||||
if (secretKeyConsideredInFirstImports && !secretKeyConsideredInPreviousOtherImports) {
|
||||
@ -204,7 +204,7 @@ void GpgME::ImportResult::mergeWith(const ImportResult &other)
|
||||
d->imports.reserve(d->imports.size() + other.d->imports.size());
|
||||
std::transform(std::begin(other.d->imports), std::end(other.d->imports),
|
||||
std::back_inserter(d->imports),
|
||||
[](const auto import) {
|
||||
[](const gpgme_import_status_t import) {
|
||||
gpgme_import_status_t copy = new _gpgme_import_status{*import};
|
||||
if (import->fpr) {
|
||||
copy->fpr = strdup(import->fpr);
|
||||
|
Loading…
Reference in New Issue
Block a user