diff --git a/cg/cglib04.cpp b/cg/cglib04.cpp index f841f6a98..bba6e7048 100755 --- a/cg/cglib04.cpp +++ b/cg/cglib04.cpp @@ -1784,25 +1784,23 @@ int TTransfer_file::cerca_annoes(long numreg,TString& tipodoc) return anno; } -const char* TTransfer_file::scrivi_occasionali(const TString& record) +void TTransfer_file::scrivi_occasionali(const TString& record, TString& cfpi) { - TString cfpi,ragsoc,ind,com,cap,app,civ; - int err; - ragsoc = record.sub(61,86); - cfpi = ""; - civ = ""; - - if (ragsoc.blank()) return cfpi; + const TString80 ragsoc = record.sub(61,86); + cfpi.cut(0); + if (ragsoc.blank()) + return; _npoccas++; - ind = record.sub(86,108); - com = record.sub(108,126); - cap = record.sub(126,131); + TString80 ind = record.sub(86,108); + const TString80 com = record.sub(108,126); + const TString8 cap = record.sub(126,131); + TString16 civ; ind = ind.rtrim(); - if (ind != "") + if (ind.not_empty()) civ = numero_civico(ind); cfpi.format("RIC%13ld", _npoccas); @@ -1825,12 +1823,9 @@ const char* TTransfer_file::scrivi_occasionali(const TString& record) if (_cod_com != "") _toccas->put("COM", _cod_com); - err = _toccas->write(); - + int err = _toccas->write(); if (err == _isreinsert) err = _toccas->rewrite(); - - return cfpi; } void TTransfer_file::write_tmp_movIVA(TString& record) @@ -1864,7 +1859,7 @@ void TTransfer_file::write_tmp_movIVA(TString& record) key.format("%2s%d", (const char*)sigla,numfield); } else - cfpi = scrivi_occasionali(record); + scrivi_occasionali(record, cfpi); _numreg_piva = _numreg; diff --git a/cg/cglib04.h b/cg/cglib04.h index 53fd5d1fe..cc62a1b6c 100755 --- a/cg/cglib04.h +++ b/cg/cglib04.h @@ -240,7 +240,7 @@ private: bool my_isdigit(unsigned char ch); int look(unsigned char carattere); int cerca_annoes(long numreg, TString& tipodoc); - const char* scrivi_occasionali(const TString& record); + void scrivi_occasionali(const TString& record, TString& cfpi); /////////////////////////////////////////////////////////////////////// // Funzioni utilizzate da fcopytemp_PC() nella ricezione da PC