Corretta locazione dei file 770 (anche libuno)

git-svn-id: svn://10.65.10.50/trunk@1233 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-04-11 15:05:08 +00:00
parent 1c5a3df4bf
commit 77c14c345a

View File

@ -10,6 +10,7 @@
#include <utility.h>
#include <validate.h>
#include <progind.h>
#include <extcdecl.h>
#include "ba1.h"
#include "ba1100.h"
@ -516,10 +517,53 @@ void TManutenzione_app::update_dir()
d.get(i, _nolock, _nordir, _sysdirop);
bool to_create = (is_com ? d.is_com() : d.is_firm());
if (flags < 0 && len != d.len() && s != d.name())
if (flags < 0 && s != d.name())
{
d.set(s, d.eox(), 0L, desc, d.expr());
towrite = TRUE;
bool ok = TRUE;
if (to_create)
{
TDir d1;
prefix().set("");
d1.get(i);
const TFilename fd(d1.name());
prefix().set(pref);
d1.get(i);
const TFilename fs(d1.name());
if (fexist(fs))
{
TFilename path(fd.path());
path.rtrim(1);
if (!fexist(path))
ok = make_dir(path);
if (ok && fcopy(fs, fd))
{
const TFilename fsi(CGetIdxName((char *)(const char *)fs));
const TFilename fdi(CGetIdxName((char *)(const char *)fd));
if (fcopy(fsi, fdi))
{
remove(fs);
remove(fsi);
}
else
{
remove(fd);
ok = FALSE;
}
}
else
ok = FALSE;
}
}
if (ok)
{
d.set(s, d.eox(), 0L, desc, d.expr());
towrite = TRUE;
}
}
else
{
@ -530,7 +574,7 @@ void TManutenzione_app::update_dir()
if (towrite)
d.put(i, _nordir, _sysdirop);
d.get(i);
TFilename datafile(d.name());
TFilename datafile(d.name());
if (to_create && !fexist(datafile))
{