commit c410a1bb39d5dd436d63c6f68f57b162056d8710 Author: Tanmai Khanna Date: Thu Aug 27 17:19:27 2020 +0530 clear tmp variables when null flush happens diff --git a/apertium/transfer.cc b/apertium/transfer.cc index 970ccce..8109073 100644 --- a/apertium/transfer.cc +++ b/apertium/transfer.cc @@ -2232,6 +2232,13 @@ Transfer::setTraceATT(bool trace) this->trace_att = trace; } +void +Transfer::tmp_clear() +{ + tmpblank.clear(); + tmpword.clear(); +} + void Transfer::transfer_wrapper_null_flush(FILE *in, FILE *out) { @@ -2240,6 +2247,7 @@ Transfer::transfer_wrapper_null_flush(FILE *in, FILE *out) while(!feof(in)) { + tmp_clear(); transfer(in, out); fputwc_unlocked(L'\0', out); int code = fflush(out); diff --git a/apertium/transfer.h b/apertium/transfer.h index 15b7400..6a5b06a 100644 --- a/apertium/transfer.h +++ b/apertium/transfer.h @@ -143,6 +143,7 @@ private: TransferToken & readToken(FILE *in); bool checkIndex(xmlNode *element, int index, int limit); void transfer_wrapper_null_flush(FILE *in, FILE *out); + void tmp_clear(); public: Transfer(); ~Transfer();