Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 6, 2008, 1:05:07 AM (16 years ago)
Author:
landauf
Message:

unsigned int → size_t for std::string related functions
I hope this fixes some problems on 64bit systems

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/core/Script.cc

    r1810 r1889  
    3333
    3434#include "CoreIncludes.h"
     35
     36#include "util/String.h"
    3537
    3638#include "lua/lua.hpp"
     
    131133  }
    132134
    133   unsigned int Script::getNextQuote(const std::string& text, unsigned int start)
    134   {
    135     unsigned int quote = start - 1;
    136 
    137     while ((quote = text.find('\"', quote + 1)) != std::string::npos)
    138     {
    139       unsigned int backslash = quote;
    140       unsigned int numbackslashes = 0;
    141       for (; backslash > 0; backslash--, numbackslashes++)
    142         if (text[backslash - 1] != '\\')
    143           break;
    144 
    145       if (numbackslashes % 2 == 0)
    146         break;
    147     }
    148 
    149     return quote;
    150   }
    151 
    152135  std::string Script::replaceLuaTags(const std::string& text)
    153136  {
    154137    // chreate map with all Lua tags
    155     std::map<unsigned int, bool> luaTags;
    156     {
    157       unsigned int pos = 0;
     138    std::map<size_t, bool> luaTags;
     139    {
     140      size_t pos = 0;
    158141      while ((pos = text.find("<?lua", pos)) != std::string::npos)
    159142        luaTags[pos++] = true;
    160143    }
    161144    {
    162       unsigned int pos = 0;
     145      size_t pos = 0;
    163146      while ((pos = text.find("?>", pos)) != std::string::npos)
    164147        luaTags[pos++] = false;
     
    167150    // erase all tags from the map that are between two quotes
    168151    {
    169       std::map<unsigned int, bool>::iterator it = luaTags.begin();
    170       std::map<unsigned int, bool>::iterator it2 = it;
     152      std::map<size_t, bool>::iterator it = luaTags.begin();
     153      std::map<size_t, bool>::iterator it2 = it;
    171154      bool bBetweenQuotes = false;
    172       unsigned int pos = 0;
     155      size_t pos = 0;
    173156      while ((pos = getNextQuote(text, pos)) != std::string::npos)
    174157      {
     
    193176    {
    194177      bool expectedValue = true;
    195       for (std::map<unsigned int, bool>::iterator it = luaTags.begin(); it != luaTags.end(); ++it)
     178      for (std::map<size_t, bool>::iterator it = luaTags.begin(); it != luaTags.end(); ++it)
    196179      {
    197180        if (it->second == expectedValue)
     
    212195    std::string output;
    213196    {
    214       std::map<unsigned int, bool>::iterator it = luaTags.begin();
     197      std::map<size_t, bool>::iterator it = luaTags.begin();
    215198      bool bInPrintFunction = true;
    216       unsigned int start = 0;
    217       unsigned int end = 0;
     199      size_t start = 0;
     200      size_t end = 0;
    218201
    219202      do
     
    231214          std::string temp = text.substr(start, end - start);
    232215          {
    233             unsigned int pos = 0;
     216            size_t pos = 0;
    234217            while ((pos = temp.find('[', pos)) != std::string::npos)
    235218            {
    236219              unsigned int tempCounter = 1;
    237               unsigned int tempPos = pos++;
     220              size_t tempPos = pos++;
    238221              while(temp[++tempPos] == '=') {
    239222                tempCounter++;
     
    250233          }
    251234          {
    252             unsigned int pos = 0;
     235            size_t pos = 0;
    253236            while ((pos = temp.find(']', pos)) != std::string::npos)
    254237            {
    255238              unsigned int tempCounter = 1;
    256               unsigned int tempPos = pos++;
     239              size_t tempPos = pos++;
    257240              while(temp[++tempPos] == '=') {
    258241                tempCounter++;
Note: See TracChangeset for help on using the changeset viewer.