summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-04-09 21:45:54 +1000
committer Vas Crabb <vas@vastheman.com>2016-04-09 21:52:08 +1000
commite925c494fe30adafb615c075f5eb692dd2b2effa (patch)
treeeed0b7ccadb049ed2dc8a72282c0235c4e94b6ae /3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp
parentb13e02f9751424dfc9ce6070676e2e318087a991 (diff)
Update LZMA SDK to 15.14
Diffstat (limited to '3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp')
-rw-r--r--3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp b/3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp
index 061e7773079..5f29249bdeb 100644
--- a/3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp
+++ b/3rdparty/lzma/CPP/7zip/UI/Common/SortUtils.cpp
@@ -2,21 +2,24 @@
#include "StdAfx.h"
+#include "../../../Common/Wildcard.h"
+
#include "SortUtils.h"
-#include "Common/Wildcard.h"
-static int CompareStrings(const int *p1, const int *p2, void *param)
+static int CompareStrings(const unsigned *p1, const unsigned *p2, void *param)
{
const UStringVector &strings = *(const UStringVector *)param;
return CompareFileNames(strings[*p1], strings[*p2]);
}
-void SortFileNames(const UStringVector &strings, CIntVector &indices)
+void SortFileNames(const UStringVector &strings, CUIntVector &indices)
{
- indices.Clear();
- int numItems = strings.Size();
- indices.Reserve(numItems);
- for(int i = 0; i < numItems; i++)
- indices.Add(i);
+ const unsigned numItems = strings.Size();
+ indices.ClearAndSetSize(numItems);
+ if (numItems == 0)
+ return;
+ unsigned *vals = &indices[0];
+ for (unsigned i = 0; i < numItems; i++)
+ vals[i] = i;
indices.Sort(CompareStrings, (void *)&strings);
}