Bug 1182959 (part 3) - Use nsTHashtable::Iterator in CertBlockList. r=honzab.

--HG--
extra : rebase_source : 4df2d9845e7a04c11bc6076ea7844fba7b5ca3a9
This commit is contained in:
Nicholas Nethercote 2015-07-20 17:12:03 -07:00
Родитель e0bd2455c1
Коммит 6ceff73a0f
1 изменённых файлов: 26 добавлений и 32 удалений

Просмотреть файл

@ -398,37 +398,6 @@ WriteLine(nsIOutputStream* outputStream, const nsACString& string)
return rv;
}
// Write issuer data to the output stream
PLDHashOperator
WriteIssuer(nsCStringHashKey* aHashKey, void* aUserArg)
{
BlocklistSaveInfo* saveInfo = reinterpret_cast<BlocklistSaveInfo*>(aUserArg);
nsAutoPtr<BlocklistStringSet> issuerSet;
saveInfo->issuerTable.RemoveAndForget(aHashKey->GetKey(), issuerSet);
nsresult rv = WriteLine(saveInfo->outputStream, aHashKey->GetKey());
if (NS_FAILED(rv)) {
return PL_DHASH_STOP;
}
// Write serial data to the output stream
for (auto iter = issuerSet->Iter(); !iter.Done(); iter.Next()) {
nsresult rv = WriteLine(saveInfo->outputStream,
NS_LITERAL_CSTRING(" ") + iter.Get()->GetKey());
if (NS_FAILED(rv)) {
saveInfo->success = false;
break;
}
}
if (!saveInfo->success) {
saveInfo->success = false;
return PL_DHASH_STOP;
}
return PL_DHASH_NEXT;
}
// void saveEntries();
// Store the blockist in a text file containing base64 encoded issuers and
// serial numbers.
@ -512,7 +481,32 @@ CertBlocklist::SaveEntries()
return NS_ERROR_FAILURE;
}
saveInfo.issuers.EnumerateEntries(WriteIssuer, &saveInfo);
for (auto iter = saveInfo.issuers.Iter(); !iter.Done(); iter.Next()) {
nsCStringHashKey* hashKey = iter.Get();
nsAutoPtr<BlocklistStringSet> issuerSet;
saveInfo.issuerTable.RemoveAndForget(hashKey->GetKey(), issuerSet);
nsresult rv = WriteLine(saveInfo.outputStream, hashKey->GetKey());
if (NS_FAILED(rv)) {
break;
}
// Write serial data to the output stream
for (auto iter = issuerSet->Iter(); !iter.Done(); iter.Next()) {
nsresult rv = WriteLine(saveInfo.outputStream,
NS_LITERAL_CSTRING(" ") + iter.Get()->GetKey());
if (NS_FAILED(rv)) {
saveInfo.success = false;
break;
}
}
if (!saveInfo.success) {
saveInfo.success = false;
break;
}
}
if (!saveInfo.success) {
MOZ_LOG(gCertBlockPRLog, LogLevel::Warning,
("CertBlocklist::SaveEntries writing revocation data failed"));