commit 2ab7b7f31ec4a0cf05176b399d86f1e1e5b7cc26 Author: Tanmai Khanna Date: Wed Jul 15 23:18:19 2020 +0530 more elegant diff --git a/src/lsx_processor.cc b/src/lsx_processor.cc index e50edba..7d310c5 100644 --- a/src/lsx_processor.cc +++ b/src/lsx_processor.cc @@ -284,45 +284,34 @@ LSXProcessor::processWord(FILE* input, FILE* output) } wstring wblank; - size_t i = 0; - for(; i < out_lus.size(); i++) + for(size_t i = 0; i < last_final; i++) { - if(i < last_final) + if(!bound_blank_queue[i].empty()) { - fputws_unlocked(blank_queue[i].c_str(), output); - if(wblank.empty()) { - bool first_bound_blank = true; - for(size_t j = 0; j < bound_blank_queue.size()-1; j++) //ignore last bound_blank as it belongs to word after matched pattern - { - if(bound_blank_queue[j].size() > 0) - { - if(first_bound_blank) - { - wblank += L"[["; - first_bound_blank = false; - } - else - { - wblank += L"; "; - } - - wblank += bound_blank_queue[j].c_str(); - } - } - if(!first_bound_blank) //if there were any wordbound blanks - { - wblank += L"]]"; - } - - fputws_unlocked(wblank.c_str(), output); + wblank += L"[["; } else { - fputws_unlocked(wblank.c_str(), output); + wblank += L"; "; } + wblank += bound_blank_queue[i].c_str(); + } + } + if(!wblank.empty()) + { + wblank += L"]]"; + } + + size_t i = 0; + for(; i < out_lus.size(); i++) + { + if(i < last_final) + { + fputws_unlocked(blank_queue[i].c_str(), output); + fputws_unlocked(wblank.c_str(), output); } else {