diff options
author | Bertrand Augereau | 2015-11-10 09:46:58 +0100 |
---|---|---|
committer | Bertrand Augereau | 2015-11-10 20:08:19 +0100 |
commit | 1311fe5c49146b14a476f47c10529931a467ff98 (patch) | |
tree | 96f93cfcb0f5629111779a28434749dba91df37d /common | |
parent | 13f30fb46bbd634de22034389561c93bc15d9d14 (diff) | |
download | scummvm-rg350-1311fe5c49146b14a476f47c10529931a467ff98.tar.gz scummvm-rg350-1311fe5c49146b14a476f47c10529931a467ff98.tar.bz2 scummvm-rg350-1311fe5c49146b14a476f47c10529931a467ff98.zip |
COMMON: Avoid useless (and dangerous when cctor/operator= don't support it) SWAP(x, x) in sorting
Diffstat (limited to 'common')
-rw-r--r-- | common/algorithm.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/common/algorithm.h b/common/algorithm.h index 6453073ae5..cbd6eae708 100644 --- a/common/algorithm.h +++ b/common/algorithm.h @@ -177,7 +177,8 @@ T sortChoosePivot(T first, T last) { template<typename T, class StrictWeakOrdering> T sortPartition(T first, T last, T pivot, StrictWeakOrdering &comp) { --last; - SWAP(*pivot, *last); + if (pivot != last) + SWAP(*pivot, *last); T sorted; for (sorted = first; first != last; ++first) { @@ -188,7 +189,8 @@ T sortPartition(T first, T last, T pivot, StrictWeakOrdering &comp) { } } - SWAP(*last, *sorted); + if (last != sorted) + SWAP(*last, *sorted); return sorted; } |