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:
parent
1c5a3df4bf
commit
77c14c345a
@ -10,6 +10,7 @@
|
|||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <validate.h>
|
#include <validate.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
|
#include <extcdecl.h>
|
||||||
|
|
||||||
#include "ba1.h"
|
#include "ba1.h"
|
||||||
#include "ba1100.h"
|
#include "ba1100.h"
|
||||||
@ -516,10 +517,53 @@ void TManutenzione_app::update_dir()
|
|||||||
d.get(i, _nolock, _nordir, _sysdirop);
|
d.get(i, _nolock, _nordir, _sysdirop);
|
||||||
bool to_create = (is_com ? d.is_com() : d.is_firm());
|
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());
|
bool ok = TRUE;
|
||||||
towrite = 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
|
else
|
||||||
{
|
{
|
||||||
@ -530,7 +574,7 @@ void TManutenzione_app::update_dir()
|
|||||||
if (towrite)
|
if (towrite)
|
||||||
d.put(i, _nordir, _sysdirop);
|
d.put(i, _nordir, _sysdirop);
|
||||||
d.get(i);
|
d.get(i);
|
||||||
TFilename datafile(d.name());
|
TFilename datafile(d.name());
|
||||||
|
|
||||||
if (to_create && !fexist(datafile))
|
if (to_create && !fexist(datafile))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user