diff options
Diffstat (limited to 'misc/par2cmdline/patches/precedence.patch')
-rw-r--r-- | misc/par2cmdline/patches/precedence.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/misc/par2cmdline/patches/precedence.patch b/misc/par2cmdline/patches/precedence.patch new file mode 100644 index 0000000000000..736e9f4a8e1bc --- /dev/null +++ b/misc/par2cmdline/patches/precedence.patch @@ -0,0 +1,108 @@ +This patch just adds some extra parentheses to stop the compiler from +warning about the possible mix-up of operator precedence. + +diff -u -r par2cmdline-0.4-orig/par1repairer.cpp par2cmdline-0.4/par1repairer.cpp +--- par2cmdline-0.4-orig/par1repairer.cpp 2004-04-15 15:40:48.000000000 +0200 ++++ par2cmdline-0.4/par1repairer.cpp 2009-09-08 18:38:15.375114246 +0200 +@@ -324,7 +324,7 @@ + || + (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 @@ + // 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 @@ + // 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 @@ + // 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; +diff -u -r par2cmdline-0.4-orig/verificationhashtable.h par2cmdline-0.4/verificationhashtable.h +--- par2cmdline-0.4-orig/verificationhashtable.h 2003-06-03 13:48:52.000000000 +0200 ++++ par2cmdline-0.4/verificationhashtable.h 2009-09-08 18:37:51.945290947 +0200 +@@ -66,11 +66,11 @@ + // 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 @@ + + 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 @@ + // 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() ++ (checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength()) + ) + ) + { +@@ -426,7 +426,7 @@ + + // Check for an unused entry which is the correct length + while (nextentry && (nextentry->IsSet() || +- checksummer.ShortBlock() && checksummer.BlockLength() != nextentry->GetDataBlock()->GetLength() ++ (checksummer.ShortBlock() && checksummer.BlockLength() != nextentry->GetDataBlock()->GetLength()) + ) + ) + { |