diff --git a/src/libmwereader/mwereader.cpp b/src/libmwereader/mwereader.cpp index 933a2a04b3133c5b891ddee939cc6bf7367ce99c..a0acbcb66a930d3bfe7393b7fc6331126538123d 100644 --- a/src/libmwereader/mwereader.cpp +++ b/src/libmwereader/mwereader.cpp @@ -135,8 +135,11 @@ bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>( tokens[head]->create_metadata(); } TokenMetaDataPtr md = tokens[head]->get_metadata(); - md->set_attribute(get_annotation_channel_base_name(), new_base); - + std::string curr_base = md->get_attribute(get_annotation_channel_base_name()); + // set new base only if it is longer than current one (if exists) + if (new_base.length() > curr_base.length()) { + md->set_attribute(get_annotation_channel_base_name(), new_base); + } // annotate mwe elements with annotation_number of head std::set<int>::iterator pos_it; int ann_num;