Fix crash in translation_tools

This commit is contained in:
kaetemi 2014-02-07 23:01:36 +01:00
parent ebf144ae5f
commit 4315a2d197

View file

@ -2022,10 +2022,13 @@ void assertUniq(const vector<TPhrase>& reference)
phraseIdentifier.insert(first->Identifier); phraseIdentifier.insert(first->Identifier);
vector<TClause>::const_iterator first2( first->Clauses.begin() ); vector<TClause>::const_iterator first2( first->Clauses.begin() );
vector<TClause>::const_iterator last2( first->Clauses.end() ); vector<TClause>::const_iterator last2( first->Clauses.end() );
if (clauseIdentifier.find(first2->Identifier) != clauseIdentifier.end() ) for( ; first2 != last2; ++first2)
{ {
nlwarning("Clause %s defined more than once.", first2->Identifier.c_str()); if (clauseIdentifier.find(first2->Identifier) != clauseIdentifier.end() )
exit(-1); {
nlwarning("Clause %s defined more than once.", first2->Identifier.c_str());
exit(-1);
}
} }
} }
} }
@ -2034,7 +2037,7 @@ void assertUniq(const vector<TPhrase>& reference)
void mergePhraseDiff2Impl(vector<TPhrase>& reference, const vector<TPhrase>& addition) void mergePhraseDiff2Impl(vector<TPhrase>& reference, const vector<TPhrase>& addition)
{ {
assertUniq(reference); assertUniq(reference);
assertUniq(addition); assertUniq(addition);
@ -2046,11 +2049,11 @@ void mergePhraseDiff2Impl(vector<TPhrase>& reference, const vector<TPhrase>& add
vector<TPhrase>::const_iterator first( reference.begin() ); vector<TPhrase>::const_iterator first( reference.begin() );
vector<TPhrase>::const_iterator last( reference.end() ); vector<TPhrase>::const_iterator last( reference.end() );
for( ; first != last ; ++first ) for( ; first != last ; ++first )
{ {
std::string identifier = first->Identifier; std::string identifier = first->Identifier;
phrases[identifier] = *first; phrases[identifier] = *first;
} }
} }
{ {
vector<TPhrase>::const_iterator first( addition.begin() ); vector<TPhrase>::const_iterator first( addition.begin() );
@ -2079,7 +2082,7 @@ void mergePhraseDiff2Impl(vector<TPhrase>& reference, const vector<TPhrase>& add
} }
} }
} }
{ {
reference.clear(); reference.clear();
reference.reserve(phrases.size()); reference.reserve(phrases.size());