Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: third_party/hunspell/google/bdict_writer.cc

Issue 4409002: Add a MD5 checksum to the BDIC header.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/hunspell/google/bdict_reader.cc ('k') | third_party/hunspell/hunspell.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2008 Google Inc. All Rights Reserved. 1 // Copyright 2008 Google Inc. All Rights Reserved.
2 2
3 #include "third_party/hunspell/google/bdict_writer.h" 3 #include "third_party/hunspell/google/bdict_writer.h"
4 4
5 #include "base/logging.h" 5 #include "base/logging.h"
6 #include "base/string_util.h" 6 #include "base/string_util.h"
7 #include "third_party/hunspell/google/bdict.h" 7 #include "third_party/hunspell/google/bdict.h"
8 8
9 namespace hunspell { 9 namespace hunspell {
10 10
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 457
458 // Fill the header last, now that we have the data. 458 // Fill the header last, now that we have the data.
459 hunspell::BDict::Header* header = 459 hunspell::BDict::Header* header =
460 reinterpret_cast<hunspell::BDict::Header*>(&ret[0]); 460 reinterpret_cast<hunspell::BDict::Header*>(&ret[0]);
461 header->signature = hunspell::BDict::SIGNATURE; 461 header->signature = hunspell::BDict::SIGNATURE;
462 header->major_version = hunspell::BDict::MAJOR_VERSION; 462 header->major_version = hunspell::BDict::MAJOR_VERSION;
463 header->minor_version = hunspell::BDict::MINOR_VERSION; 463 header->minor_version = hunspell::BDict::MINOR_VERSION;
464 header->aff_offset = static_cast<uint32>(aff_offset); 464 header->aff_offset = static_cast<uint32>(aff_offset);
465 header->dic_offset = static_cast<uint32>(dic_offset); 465 header->dic_offset = static_cast<uint32>(dic_offset);
466 466
467 // Write the MD5 digest of the affix information and the dictionary words at
468 // the end of the BDic header.
469 if (header->major_version >= 2)
470 MD5Sum(&ret[aff_offset], ret.size() - aff_offset, &header->digest);
471
467 return ret; 472 return ret;
468 } 473 }
469 474
470 void BDictWriter::SerializeAff(std::string* output) const { 475 void BDictWriter::SerializeAff(std::string* output) const {
471 // Reserve enough room for the header. 476 // Reserve enough room for the header.
472 size_t header_offset = output->size(); 477 size_t header_offset = output->size();
473 output->resize(output->size() + sizeof(hunspell::BDict::AffHeader)); 478 output->resize(output->size() + sizeof(hunspell::BDict::AffHeader));
474 479
475 // Write the comment. 480 // Write the comment.
476 output->push_back('\n'); 481 output->push_back('\n');
(...skipping 18 matching lines...) Expand all
495 // Add the header now that we know the offsets. 500 // Add the header now that we know the offsets.
496 hunspell::BDict::AffHeader* header = 501 hunspell::BDict::AffHeader* header =
497 reinterpret_cast<hunspell::BDict::AffHeader*>(&(*output)[header_offset]); 502 reinterpret_cast<hunspell::BDict::AffHeader*>(&(*output)[header_offset]);
498 header->affix_group_offset = static_cast<uint32>(affix_group_offset); 503 header->affix_group_offset = static_cast<uint32>(affix_group_offset);
499 header->affix_rule_offset = static_cast<uint32>(affix_rule_offset); 504 header->affix_rule_offset = static_cast<uint32>(affix_rule_offset);
500 header->rep_offset = static_cast<uint32>(rep_offset); 505 header->rep_offset = static_cast<uint32>(rep_offset);
501 header->other_offset = static_cast<uint32>(other_offset); 506 header->other_offset = static_cast<uint32>(other_offset);
502 } 507 }
503 508
504 } // namespace hunspell 509 } // namespace hunspell
OLDNEW
« no previous file with comments | « third_party/hunspell/google/bdict_reader.cc ('k') | third_party/hunspell/hunspell.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698