Skip to content
Snippets Groups Projects
Commit 456f30d2 authored by Franck Dary's avatar Franck Dary
Browse files

Corrected memory leak

parent bdf10774
No related branches found
No related tags found
No related merge requests found
...@@ -275,14 +275,15 @@ void Oracle::createDatabase() ...@@ -275,14 +275,15 @@ void Oracle::createDatabase()
for(int i = start; i <= end; i++) for(int i = start; i <= end; i++)
{ {
const std::string & form = c.getTape("FORM").getRef(i); const std::string & form = c.getTape("FORM").getRef(i);
std::string & signature = oracle->data[form]; std::string signature;
if(signature.empty()) if (oracle->data.count(form))
signature = oracle->data[form];
else if (oracle->data.count(noAccentLower(form)))
signature = oracle->data[noAccentLower(form)]; signature = oracle->data[noAccentLower(form)];
if(signature.empty())
action += std::string(" ") + "UNKNOWN";
else else
signature = "UNKNOWN";
action += std::string(" ") + signature; action += std::string(" ") + signature;
} }
...@@ -323,14 +324,15 @@ void Oracle::createDatabase() ...@@ -323,14 +324,15 @@ void Oracle::createDatabase()
{ {
const std::string & form = c.getTape("FORM")[0]; const std::string & form = c.getTape("FORM")[0];
const std::string & pos = c.getTape("POS")[0]; const std::string & pos = c.getTape("POS")[0];
std::string & lemma = oracle->data[form + "_" + pos]; std::string lemma;
if(lemma.empty()) if (oracle->data.count(form + "_" + pos))
lemma = oracle->data[form + "_" + pos];
else if (oracle->data.count(noAccentLower(form)+"_"+pos))
lemma = oracle->data[noAccentLower(form) + "_" + pos]; lemma = oracle->data[noAccentLower(form) + "_" + pos];
if(lemma.empty())
return std::string("NOTFOUND");
else else
return std::string("NOTFOUND");
return std::string("WRITE b.0 LEMMA ") + lemma; return std::string("WRITE b.0 LEMMA ") + lemma;
}, },
[](Config &, Oracle *, const std::string &) [](Config &, Oracle *, const std::string &)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment