diff --git a/src/f1/f1lib.cpp b/src/f1/f1lib.cpp index 645f09fe3..c2a3d49a8 100644 --- a/src/f1/f1lib.cpp +++ b/src/f1/f1lib.cpp @@ -312,18 +312,18 @@ void set_periodprec(bool flag) bool check_causale(const TString& cod_caus, bool acq) { - return + return cod_caus.full() && ( check_causale(cod_caus, "FA", acq) || check_causale(cod_caus, "BD", acq) || check_causale(cod_caus, "AF", acq) || check_causale(cod_caus, "FF", acq) || check_causale(cod_caus, "NC", acq) || - check_causale(cod_caus, "ND", acq); + check_causale(cod_caus, "ND", acq)); } bool check_causale(const TString& cod_caus, const TString& tipo_doc, bool acq) { - const TCausale caus(cod_caus); + const TCausale& caus = cached_causale(cod_caus); if(tipo_doc == "FA" || tipo_doc == "BD" || tipo_doc == "AF" || tipo_doc == "FF") return caus.tipo_doc() == tipo_doc;