projects
/
mussa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improve mupa comment character parsing
[mussa.git]
/
alg
/
mussa.cpp
diff --git
a/alg/mussa.cpp
b/alg/mussa.cpp
index 9a5935e19947cbd68e28e7c7a3f88b267816030f..2fb639bef34b0d1571d7234dccba008ad84469f3 100644
(file)
--- a/
alg/mussa.cpp
+++ b/
alg/mussa.cpp
@@
-381,6
+381,7
@@
Mussa::load_mupa_file(fs::path para_file_path)
void
Mussa::load_mupa_stream(std::istream& para_file, fs::path& file_path_base)
{
void
Mussa::load_mupa_stream(std::istream& para_file, fs::path& file_path_base)
{
+ bool error_occured = false;
string file_data_line;
string param, value;
fs::path annot_file;
string file_data_line;
string param, value;
fs::path annot_file;
@@
-454,11
+455,13
@@
Mussa::load_mupa_stream(std::istream& para_file, fs::path& file_path_base)
did_seq = true;
}
//ignore empty lines or that start with '#'
did_seq = true;
}
//ignore empty lines or that start with '#'
- else if ((param == "") || (param == "#")) {}
+ else if ( (param.size() == 0) || (param[0] == '#'))
+ {} // pass
else
{
clog << "Illegal/misplaced mussa parameter in file\n";
clog << param << "\n";
else
{
clog << "Illegal/misplaced mussa parameter in file\n";
clog << param << "\n";
+ error_occured = true;
}
if (!did_seq)
}
if (!did_seq)
@@
-471,6
+474,9
@@
Mussa::load_mupa_stream(std::istream& para_file, fs::path& file_path_base)
}
}
}
}
+ if (error_occured) {
+ throw mussa_load_error("Error parsing MUPA file");
+ }
soft_thres = threshold;
// no file was loaded, signal error
set_dirty(true);
soft_thres = threshold;
// no file was loaded, signal error
set_dirty(true);