Patch level : 10.0 72

Files correlati     : ba1.exe
Ricompilazione Demo : [ ]
Commento           :

Corretta la conversione di multirel


git-svn-id: svn://10.65.10.50/trunk@16794 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2008-06-20 14:46:23 +00:00
parent a3e4a6db73
commit 5f43c6f387

View File

@ -992,9 +992,49 @@ void TManutenzione_app::update_dir()
{
if (flags < 10000L && flags > -1L && fexist(fs) && (fd != fs))
{
bool ok = true;
TFilename path(fd.path());
bool found = false;
for (int j = i + 1; !found && j <= update_items; j++)
{
const TDir & dn = (const TDir &) _dirs[j];
TFilename fn(dn.filename());
if (fs == fn)
{
TTrec wrs;
TTrec wrd;
wrs.get(i);
wrd.get(j);
wrd = wrs;
wrd.set_num(j);
wrd.put(j);
wrs.zero();
wrs.put(i);
TDir wds;
TDir wdd;
wds.get(i, _nolock, _nordir, _sysdirop);
wdd.get(j, _nolock, _nordir, _sysdirop);
wdd.set(wds.name(), wds.eod(), wds.flags(), wds.des(), wds.expr());
wdd.set_eox(wds.eox());
wdd.set_len(wrd.len());
wdd.put(j, _nordir, _sysdirop);
wds.set(ds.name(), 0L, 0L, ds.des(), ds.expr());
wds.set_eox(0L);
wds.set_len(0);
wds.put(i, _nordir, _sysdirop);
found = true;
}
}
if (found)
continue;
path.rtrim(1);
if (path.not_empty() && !fexist(path))
ok = make_dir(path);