2011-06-09 21:56:14 +00:00
|
|
|
--- a/verificationhashtable.h 2003-06-03 13:48:52.000000000 +0200
|
|
|
|
+++ b/verificationhashtable.h.new 2010-02-10 20:48:50.425580166 +0100
|
2010-09-14 04:49:14 +00:00
|
|
|
@@ -66,11 +66,11 @@ public:
|
|
|
|
// Comparison operators for searching
|
|
|
|
bool operator <(const VerificationHashEntry &r) const
|
|
|
|
{
|
|
|
|
- return crc < r.crc || crc == r.crc && hash < r.hash;
|
|
|
|
+ return crc < r.crc || ( crc == r.crc && hash < r.hash );
|
|
|
|
}
|
|
|
|
bool operator >(const VerificationHashEntry &r) const
|
|
|
|
{
|
|
|
|
- return crc > r.crc || crc == r.crc && hash > r.hash;
|
|
|
|
+ return crc > r.crc || ( crc == r.crc && hash > r.hash );
|
|
|
|
}
|
|
|
|
bool operator ==(const VerificationHashEntry &r) const
|
|
|
|
{
|
|
|
|
@@ -183,11 +183,11 @@ inline const VerificationHashEntry* Veri
|
|
|
|
|
|
|
|
while (entry)
|
|
|
|
{
|
|
|
|
- if (entry->crc < crc || entry->crc == crc && entry->hash < hash)
|
|
|
|
+ if (entry->crc < crc || ( entry->crc == crc && entry->hash < hash ) )
|
|
|
|
{
|
|
|
|
entry = entry->right;
|
|
|
|
}
|
|
|
|
- else if (entry->crc > crc || entry->crc == crc && entry->hash > hash)
|
|
|
|
+ else if (entry->crc > crc || ( entry->crc == crc && entry->hash > hash ) )
|
|
|
|
{
|
|
|
|
entry = entry->left;
|
|
|
|
}
|
|
|
|
@@ -402,14 +402,14 @@ inline const VerificationHashEntry* Veri
|
|
|
|
// have already been matched, or ones that are the wrong length
|
|
|
|
while (currententry && (currententry->SourceFile() != sourcefile ||
|
|
|
|
currententry->IsSet() ||
|
|
|
|
- checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength()
|
|
|
|
+ ( checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength() )
|
|
|
|
)
|
|
|
|
)
|
|
|
|
{
|
|
|
|
// If we found an unused entry (which was presumably for the wrong
|
|
|
|
// source file) remember it (providing it is the correct length).
|
|
|
|
- if (0 == nextentry && !(currententry->IsSet() ||
|
|
|
|
- checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength()
|
|
|
|
+ if ( ( ( 0 == nextentry && !(currententry->IsSet() ) ) ||
|
|
|
|
+ ( checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength() )
|
|
|
|
)
|
|
|
|
)
|
|
|
|
{
|
|
|
|
@@ -425,8 +425,8 @@ inline const VerificationHashEntry* Veri
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check for an unused entry which is the correct length
|
|
|
|
- while (nextentry && (nextentry->IsSet() ||
|
|
|
|
- checksummer.ShortBlock() && checksummer.BlockLength() != nextentry->GetDataBlock()->GetLength()
|
|
|
|
+ while ( ( ( nextentry && (nextentry->IsSet() ) ) ||
|
|
|
|
+ ( checksummer.ShortBlock() && checksummer.BlockLength() != nextentry->GetDataBlock()->GetLength() )
|
|
|
|
)
|
|
|
|
)
|
|
|
|
{
|
2011-06-09 21:56:14 +00:00
|
|
|
--- a/par1repairer.cpp 2004-04-15 15:40:48.000000000 +0200
|
|
|
|
+++ b/par1repairer.cpp.new 2010-02-10 21:04:43.288702325 +0100
|
2010-09-14 04:49:14 +00:00
|
|
|
@@ -324,7 +324,7 @@ bool Par1Repairer::LoadRecoveryFile(stri
|
|
|
|
||
|
|
|
|
(fileheader.datasize && (fileheader.dataoffset < sizeof(fileheader) || fileheader.dataoffset + fileheader.datasize > filesize))
|
|
|
|
||
|
|
|
|
- (fileheader.datasize && (fileheader.filelistoffset <= fileheader.dataoffset && fileheader.dataoffset < fileheader.filelistoffset+fileheader.filelistsize || fileheader.dataoffset <= fileheader.filelistoffset && fileheader.filelistoffset < fileheader.dataoffset + fileheader.datasize)))
|
|
|
|
+ (fileheader.datasize && ( ( fileheader.filelistoffset <= fileheader.dataoffset && fileheader.dataoffset < fileheader.filelistoffset+fileheader.filelistsize ) || ( fileheader.dataoffset <= fileheader.filelistoffset && fileheader.filelistoffset < fileheader.dataoffset + fileheader.datasize ) )))
|
|
|
|
break;
|
|
|
|
|
|
|
|
// Check the size of the file list
|
|
|
|
@@ -518,9 +518,9 @@ bool Par1Repairer::LoadOtherRecoveryFile
|
|
|
|
// Check the the file extension is the correct form
|
|
|
|
if ((tail[0] == 'P' || tail[0] == 'p') &&
|
|
|
|
(
|
|
|
|
- (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r')
|
|
|
|
+ ( (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') )
|
|
|
|
||
|
|
|
|
- isdigit(tail[1]) && isdigit(tail[2])
|
|
|
|
+ ( isdigit(tail[1]) && isdigit(tail[2]) )
|
|
|
|
))
|
|
|
|
{
|
|
|
|
LoadRecoveryFile(filename);
|
|
|
|
@@ -549,9 +549,9 @@ bool Par1Repairer::LoadExtraRecoveryFile
|
|
|
|
// Check the the file extension is the correct form
|
|
|
|
if ((tail[0] == 'P' || tail[0] == 'p') &&
|
|
|
|
(
|
|
|
|
- (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r')
|
|
|
|
+ ( (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') )
|
|
|
|
||
|
|
|
|
- isdigit(tail[1]) && isdigit(tail[2])
|
|
|
|
+ ( isdigit(tail[1]) && isdigit(tail[2]) )
|
|
|
|
))
|
|
|
|
{
|
|
|
|
LoadRecoveryFile(filename);
|
|
|
|
@@ -652,9 +652,9 @@ bool Par1Repairer::VerifyExtraFiles(cons
|
|
|
|
// Check the the file extension is the correct form
|
|
|
|
if ((tail[0] == 'P' || tail[0] == 'p') &&
|
|
|
|
(
|
|
|
|
- (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r')
|
|
|
|
+ ( (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') )
|
|
|
|
||
|
|
|
|
- isdigit(tail[1]) && isdigit(tail[2])
|
|
|
|
+ ( isdigit(tail[1]) && isdigit(tail[2]) )
|
|
|
|
))
|
|
|
|
{
|
|
|
|
skip = true;
|