tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

SortUtils.cpp (660B)


      1 // SortUtils.cpp
      2 
      3 #include "StdAfx.h"
      4 
      5 #include "../../../Common/Wildcard.h"
      6 
      7 #include "SortUtils.h"
      8 
      9 static int CompareStrings(const unsigned *p1, const unsigned *p2, void *param)
     10 {
     11  const UStringVector &strings = *(const UStringVector *)param;
     12  return CompareFileNames(strings[*p1], strings[*p2]);
     13 }
     14 
     15 void SortFileNames(const UStringVector &strings, CUIntVector &indices)
     16 {
     17  const unsigned numItems = strings.Size();
     18  indices.ClearAndSetSize(numItems);
     19  if (numItems == 0)
     20    return;
     21  unsigned *vals = &indices[0];
     22  for (unsigned i = 0; i < numItems; i++)
     23    vals[i] = i;
     24  indices.Sort(CompareStrings, (void *)&strings);
     25 }