faubackup2/src/copier filesender.cpp,1.6,1.7
Erik Merkel <[email protected]> Sun, 03 Jul 2005 19:06:57 +0000
| Newsgroups | gmane.comp.sysutils.backup.faubackup.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/faubackup/faubackup2/src/copier
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30131/src/copier
Modified Files:
filesender.cpp
Log Message:
better error correction if files are deleted during the backup process
Index: filesender.cpp
===================================================================
RCS file: /cvsroot/faubackup/faubackup2/src/copier/filesender.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** filesender.cpp 3 Jul 2005 18:37:15 -0000 1.6
--- filesender.cpp 3 Jul 2005 19:06:55 -0000 1.7
***************
*** 10,13 ****
--- 10,14 ----
#include "regexp/regexp.hpp"
#include "rsync/rsync.hpp"
+ #include "rsync/rsync++_calls.hpp"
namespace faubackup
***************
*** 57,60 ****
--- 58,64 ----
return;
}
+ network->sendByte(CopyRegFile);
+ network->sendString(name);
+ sendInode(name);
network->sendFile(file);
fclose(file);
***************
*** 75,80 ****
void FileSender::rdiff_file(string name)
{
! output.information("rdiff file!", DEBUG_OUTPUT);
! delta(currentWorkDir + name, *network, *network);
}
--- 79,97 ----
void FileSender::rdiff_file(string name)
{
! if(!existFile(currentWorkDir + name)) {
! /* ignore all incoming rsync packages */
! char dummy[65536];
! int size, eof;
! eof = false;
! while(!eof)
! getPackage(dummy, &size, &eof, network);
! clearEOF(network);
! } else {
! network->sendByte(RdiffRegFile);
! network->sendString(name);
! sendInode(name);
! output.information("rdiff file!", DEBUG_OUTPUT);
! delta(currentWorkDir + name, *network, *network);
! }
}
***************
*** 127,133 ****
switch(message) {
case CopyRegFile :
- network->sendByte(message);
- network->sendString(name);
- sendInode(name);
reg_file_copy(name);
break;
--- 144,147 ----
***************
*** 143,149 ****
break;
case RdiffRegFile :
- network->sendByte(message);
- network->sendString(name);
- sendInode(name);
rdiff_file(name);
break;
--- 157,160 ----
***************
*** 152,155 ****
--- 163,168 ----
break;
case SymlinkFile :
+ if(!existFile(currentWorkDir + name))
+ continue;
network->sendByte(message);
network->sendString(name);
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click