X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Fmussa.cpp;h=2fb639bef34b0d1571d7234dccba008ad84469f3;hp=9a5935e19947cbd68e28e7c7a3f88b267816030f;hb=03d92f51588c1cd45178321a86cb3aacb80a0f33;hpb=6d25d4d945af696134bdf788b111f38b197b1a15 diff --git a/alg/mussa.cpp b/alg/mussa.cpp index 9a5935e..2fb639b 100644 --- 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) { + bool error_occured = false; 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 '#' - else if ((param == "") || (param == "#")) {} + else if ( (param.size() == 0) || (param[0] == '#')) + {} // pass else { clog << "Illegal/misplaced mussa parameter in file\n"; clog << param << "\n"; + error_occured = true; } 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);