Patch level :10.0 nuovo cd
Files correlati : Ricompilazione Demo : [ ] Commento :0000945: Installazione Descrizione Installando le versioni abbiamo gli errori allegato (solo se presnte il modulo LV) git-svn-id: svn://10.65.10.50/trunk@17567 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
18c1bbee09
commit
846fdf6e39
@ -843,14 +843,14 @@ void TManutenzione_app::update_dir()
|
||||
if (prefix().get_codditta() <= _history_firm)
|
||||
return;
|
||||
|
||||
const int orig_items = _dirs.last();
|
||||
const int last_new_item = _dirs.last(); //quale è il numero dell'ultimo file nuovo?
|
||||
|
||||
TDir d ;
|
||||
|
||||
d.get(LF_DIR);
|
||||
const int items = (int)d.eod();
|
||||
const int last_curr_item = (int)d.eod(); //quale è il numero dell'ultimo file attualmente presente
|
||||
|
||||
const int update_items = (orig_items < items) ? orig_items : items;
|
||||
const int update_items = (last_new_item < last_curr_item) ? last_new_item : last_curr_item;
|
||||
|
||||
TString prompt(128);
|
||||
if (is_com)
|
||||
@ -931,17 +931,25 @@ void TManutenzione_app::update_dir()
|
||||
{
|
||||
TSystemisamfile b(i);
|
||||
int err = b.is_valid(true);
|
||||
if ((err == _istrcerr) && (d.eod() == 0) && (fsize(d.filename()) < 4096) &&
|
||||
yesno_box(FR("Il tracciato record del file %d e' incoerente:\nSi desidera eliminare il file vuoto %s?"), i, d.filename()))
|
||||
{
|
||||
TFilename n(d.filename()); remove(n);
|
||||
n.ext("cdx"); remove(n);
|
||||
n.ext("fpt"); remove(n);
|
||||
err = NOERR;
|
||||
}
|
||||
if ((err == _istrcerr) && (d.eod() == 0) && (fsize(d.filename()) < 4096))
|
||||
{
|
||||
bool kill = true;
|
||||
if (is_power_station())
|
||||
kill = yesno_box(FR("Il tracciato record del file %d e' incoerente:\nSi desidera eliminare il file vuoto %s?"), i, d.filename());
|
||||
if (kill)
|
||||
{
|
||||
TFilename n(d.filename());
|
||||
save_file(n);
|
||||
remove(n);
|
||||
n.ext("cdx"); remove(n);
|
||||
n.ext("fpt"); remove(n);
|
||||
err = NOERR;
|
||||
}
|
||||
} //if((err==_istrcerr...
|
||||
|
||||
if (err != NOERR && flags < 10000L)
|
||||
{
|
||||
if (err == _istrcerr)
|
||||
if (err == _istrcerr || err == _isbadtrc)
|
||||
{
|
||||
repair_file(i);
|
||||
err = NOERR;
|
||||
@ -1133,11 +1141,16 @@ void TManutenzione_app::update_dir()
|
||||
}
|
||||
if (towrite)
|
||||
d.put(i, _nordir, _sysdirop);
|
||||
} // end of for scope
|
||||
} //for(i=LF_USER; i<=update_items; i++)
|
||||
|
||||
if (items >= orig_items) return;
|
||||
//se il numero totale di files nuovi è inferiore a quello dei files già presenti c'è qualcosa che probabilmente..
|
||||
//..non va (aggiornamento da un cd vecchio ad esempio); comunque ha finito il suo lavoro qui, perchè quello che..
|
||||
//..segue riguarda solo i files nuovi
|
||||
if (last_curr_item >= last_new_item)
|
||||
return;
|
||||
|
||||
for (i = items + 1; i <= orig_items; i++)
|
||||
//aggiornatore degli EOX EOD ecc. dei files nuovi
|
||||
for (i = last_curr_item + 1; i <= last_new_item; i++)
|
||||
{
|
||||
TDir d1((TDir &) _dirs[i]);
|
||||
|
||||
@ -1145,11 +1158,12 @@ void TManutenzione_app::update_dir()
|
||||
d1.eox() = 0L;
|
||||
d1.eod() = 0L;
|
||||
d1.flags() = 0L;
|
||||
d1.put(i, _nordir, _sysdirop);
|
||||
d1.put(i, _nordir, _sysdirop); //scrive su dir.gen il nuovo file aggiunto (mettendo numero,eox,eod,flags)
|
||||
}
|
||||
|
||||
//allinea i valori di eox ed eod (eox non può mai essere < eod!)
|
||||
d.get(LF_DIR, _nolock, _nordir, _sysdirop);
|
||||
d.eod() = orig_items;
|
||||
d.eod() = last_new_item;
|
||||
if (d.eox() < d.eod())
|
||||
d.eox() = d.eod();
|
||||
d.put(LF_DIR, _nordir, _sysdirop);
|
||||
@ -1162,13 +1176,13 @@ void TManutenzione_app::convert_dir()
|
||||
|
||||
const TString pref(prefix().name());
|
||||
const bool is_com = prefix().is_com();
|
||||
const int orig_items = _dirs.last();
|
||||
const int last_new_item = _dirs.last();
|
||||
|
||||
TDir d;
|
||||
d.get(LF_DIR);
|
||||
const int items = (int)d.eod();
|
||||
const int last_curr_item = (int)d.eod();
|
||||
|
||||
const int update_items = (orig_items < items) ? orig_items : items;
|
||||
const int update_items = (last_new_item < last_curr_item) ? last_new_item : last_curr_item;
|
||||
|
||||
TString s;
|
||||
if (is_com)
|
||||
|
Loading…
x
Reference in New Issue
Block a user