diff --git a/ve/ve2.cpp b/ve/ve2.cpp index 2f351b9c7..3f3ee54a6 100755 --- a/ve/ve2.cpp +++ b/ve/ve2.cpp @@ -1,5 +1,4 @@ #include -#include extern int ve2100(int argc, char* argv[]); // tabelle sconti (di riga/di documento/incondizionati) extern int ve2200(int argc, char* argv[]); // testate listini/contratti/offerte @@ -8,15 +7,13 @@ extern int ve2400(int argc, char* argv[]); // anagrafica di magazzino int main( int argc, char** argv) { - const int r = (argc>1)?(atoi(&argv[1][1])):(-1); + const int r = argc > 1 ? argv[1][1]-'0' : -1; switch (r) { case 0: ve2100(argc, argv); break; case 1: ve2200(argc, argv); break; case 2: ve2300(argc, argv); break; - case 3: ve2400(argc, argv); break; - default: error_box("Sintassi: %s -[0 [R|D|I] | 1 [L|C|O] | 2 [L|C|O] | 3]", argv[0]); break; + default: ve2400(argc, argv); break; } - exit(0); return 0; } diff --git a/ve/ve2401.cpp b/ve/ve2401.cpp index 3f9487a7d..ad1a481b0 100755 --- a/ve/ve2401.cpp +++ b/ve/ve2401.cpp @@ -124,12 +124,12 @@ void TCodart_mask::create_level(int level, const TString& subcode) void TCodart_mask::build_children() { - TArray& a = fields_array(); - TString8 code = root_code(); code << get(101); - const TString& children = cache().get("GSA", code, "S1"); - for (int i = 0; i < 8; i++) + + // Non usare qui un TString& children, altrimenti cambia sul piu' bello! + const TString80 children = cache().get("GSA", code, "S1"); + for (int i = 0; i < 9; i++) { const TString& subcode = children.mid(i*3, 3); if (subcode.full())