From 9ec1904c763806fa2567ce007fdd06040ec17d2a Mon Sep 17 00:00:00 2001 From: luca Date: Fri, 16 May 2003 14:24:47 +0000 Subject: [PATCH] Patch level :2.0 470 Files correlati :librerie e ve5.exe Ricompilazione Demo : [ ] Commento : AO20012 Una volta che si lancia l'invio dei documenti a dischetto restituisce il messaggio: Compressione degli archivi errata o incompleta, e non invia nulla. git-svn-id: svn://10.65.10.50/trunk@11148 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/archives.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/include/archives.cpp b/include/archives.cpp index 38670603b..4e8e9fe57 100755 --- a/include/archives.cpp +++ b/include/archives.cpp @@ -336,9 +336,14 @@ bool TArchive::zip( // @comm Il parametro

e' utilizzato per evitare errori di riaperture di files. { - const TString16 old(prefix().name()); - prefix().set(NULL); - + safely_close_closeable_isamfiles(); + + DIRECTORY currdir, newdir; + xvt_fsys_get_dir( &currdir); //memorizza la directory dove e' + + xvt_fsys_convert_str_to_dir(dir, &newdir); //converte il nome della directory + xvt_fsys_set_dir( &newdir); //passa alla directory dir che gli viene passata + const TFilename workdir = dir; const TString name = workdir.name(); @@ -348,20 +353,27 @@ bool TArchive::zip( TString title("Archiviazione di "); title << workdir; TIndwin waitw(100,title,FALSE,FALSE); TWait_cursor hourglass; + + TString_array filenames; + list_files("*.*", filenames); // Crea il file con la lista dei file da comprimere const char* const ZIPLIST = "ziplist.txt"; FILE* flist = fopen(ZIPLIST, "w"); - fprintf(flist, "*.*"); + + FOR_EACH_ARRAY_ROW(filenames, r, row) + fprintf(flist, "%s\n",(const char *)*row); + fclose(flist); bool ok = ::aga_zip_filelist(ZIPLIST, work); + + xvt_fsys_set_dir( &currdir); //torna a posizionarsi nella directory iniziale + if (ok) ok = fsplit_zip(work, floppy, desc); else error_box("Compressione degli archivi errata o incompleta"); - - prefix().set(old); return ok; } @@ -425,8 +437,7 @@ bool TArchive::unzip( TString title("Ripristino di "); title << output; TIndwin waitw(100,title,FALSE,FALSE); - const TString16 old(prefix().name()); - prefix().set(NULL); + safely_close_closeable_isamfiles(); TFilename cfg; cfg << floppy << ':'; @@ -468,8 +479,6 @@ bool TArchive::unzip( ok = ::aga_unzip(restored, work); else error_box("Il file %s non è stato ripristinato completamente", (const char*)restored); - - prefix().set(old); return ok; }