diff options
-rw-r--r-- | backends/fs/fs.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/backends/fs/fs.cpp b/backends/fs/fs.cpp index 60766cb073..df4a76bf07 100644 --- a/backends/fs/fs.cpp +++ b/backends/fs/fs.cpp @@ -26,13 +26,15 @@ void FSList::sort() { // Simple selection sort - for (int i = 0; i < _size-1; i++) { - int min = i; - for (int j = i+1; j < _size; j++) - if (_data[j] < _data[min]) + for (iterator i = begin(); i != end(); ++i) { + iterator min(i); + iterator j(i); + ++j; + for (; j != end(); ++j) + if (*j < *min) min = j; if (min != i) - SWAP(_data[min], _data[i]); + SWAP(*min, *i); } } |