| 859 | |
| 860 | |
| 861 | void CKnownFile::CreateHashFromHashlist(const ArrayOfCMD4Hash& hashes, CMD4Hash* Output) |
| 862 | { |
| 863 | wxCHECK_RET(hashes.size(), "No input to hash from in CreateHashFromHashlist"); |
| 864 | |
| 865 | std::vector<uint8_t> buffer(hashes.size() * MD4HASH_LENGTH); |
| 866 | std::vector<uint8_t>::iterator it = buffer.begin(); |
| 867 | |
| 868 | for (size_t i = 0; i < hashes.size(); ++i) { |
| 869 | it = STLCopy_n(hashes[i].GetHash(), MD4HASH_LENGTH, it); |
| 870 | } |
| 871 | |
| 872 | CreateHashFromInput(&buffer[0], buffer.size(), Output, NULL); |
| 873 | } |
| 874 | |
| 875 | |
| 876 | void CKnownFile::CreateHashFromFile(CFileAutoClose& file, uint64 offset, uint32 Length, CMD4Hash* Output, CAICHHashTree* pShaHashOut) |