From 8dccb48baeeafa91c2928fb2f7965a2fe1965c6d Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 26 Jun 1995 16:53:50 +0000 Subject: [PATCH] Correzione errori MI3140 MI3137 e MI3136 git-svn-id: svn://10.65.10.50/trunk@1505 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg4200.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/cg/cg4200.cpp b/cg/cg4200.cpp index 2c879c950..b66b181e7 100755 --- a/cg/cg4200.cpp +++ b/cg/cg4200.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include "cg4.h" #include "cg4200.h" @@ -27,21 +28,39 @@ public: }; bool TCopia_archivi::copyfile(int logicnum, long from, long to) -{ - if (from > 0) set_firm(from); +{ + TDir dir; + + set_firm(to); + dir.get(logicnum, _nolock, _nordir, _sysdirop); + if (dir.is_com()) + { + dir.get(logicnum); + return error_box("Non posso copiare su un'archivio comune : ditta %ld - archivio %s", to, dir.name()); + } + if (from > 0) set_firm(from); else prefix().set("com"); + dir.get(logicnum); + + if (!fexist(dir.name())) + { + if (from > 0) + return error_box("Non esiste il file sorgente : ditta %ld - %s", from, dir.name()); + else + return error_box("Non esiste il file sorgente : archivi comuni - %s", dir.name()); + } TSystemisamfile file(logicnum); TFilename t; t.tempdir(); t << "/tr" << logicnum; if (file.dump(t) != NOERR) return error_box("Impossibile leggere i dati da copiare errore n. %d", file.status()); set_firm(to); + TFilename s; s.tempdir(); s << "/sv" << logicnum; if (file.dump(s) != NOERR) return error_box("Impossibile salvare i dati originali errore n. %d", file.status()); - TDir dir; dir.get(logicnum, _lock, _nordir, _sysdirop); dir.eod() = 0L;