Ignore:
Timestamp:
04/09/15 23:51:28 (9 years ago)
Author:
Maciej Komosinski
Message:
  • explicit c_str() in SString instead of (const char*) cast
  • genetic converters and GenMan? are now thread-local which enables multi-threaded simulator separation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/util/sstringutils.cpp

    r319 r348  
    6363int quoteTilde(SString &target)
    6464{
    65         const char* x = target;
     65        const char* x = target.c_str();
    6666        SString tmp;
    6767        char *f;
     
    8888int unquoteTilde(SString &target)
    8989{
    90         const char* x = target;
     90        const char* x = target.c_str();
    9191        SString tmp;
    9292        char *f;
     
    134134bool sstringQuote(SString& target)
    135135{
    136         const char* x = target;
     136        const char* x = target.c_str();
    137137        bool changed = 0;
    138138        SString tmp;
     
    169169int sstringUnquote(SString &target)
    170170{
    171         const char* x = target;
     171        const char* x = target.c_str();
    172172        SString tmp;
    173173        char *f;
     
    200200int strFindField(const SString& txt, const SString& name, int &end)
    201201{
    202         const char* t = txt, *n;
     202        const char* t = txt.c_str(), *n;
    203203        int pos = 0;
    204204        while (1)
    205205        {
    206206                n = strchr(t + pos, ',');
    207                 if ((!strncmp(t + pos, name, name.len())) && (t[pos + name.len()] == '='))
     207                if ((!strncmp(t + pos, name.c_str(), name.len())) && (t[pos + name.len()] == '='))
    208208                {
    209209                        if (n) end = n - t; else end = txt.len();
     
    234234                char *b = t;
    235235                if (txt.len()) *(t++) = ',';
    236                 strcpy(t, name); t += name.len();
     236                strcpy(t, name.c_str()); t += name.len();
    237237                *(t++) = '=';
    238                 strcpy(t, value); t += value.len();
     238                strcpy(t, value.c_str()); t += value.len();
    239239                txt.endAppend(t - b);
    240240        }
     
    253253                        char *t = txt.directWrite(txt.len() + value.len() - (e - p));
    254254                        memmove(t + p + value.len(), t + e, txt.len() - e);
    255                         memmove(t + p, value, value.len());
     255                        memmove(t + p, value.c_str(), value.len());
    256256                        txt.endWrite(txt.len() + value.len() - (e - p));
    257257                }
     
    261261SString trim(SString& s)
    262262{
    263         const unsigned char*b = (const unsigned char*)(const char*)s;
     263        const unsigned char*b = (const unsigned char*)s.c_str();
    264264        const unsigned char*e = b + s.len();
    265265        while ((b < e) && (*b <= ' ')) b++;
     
    275275bool removeCR(SString& s)
    276276{
    277         const char* p = (const char*)s;
     277        const char* p = s.c_str();
    278278        const char* cr = strchr(p, '\r');
    279279        if (!cr) return false;
     
    299299                SString after = pattern.substr(aster + 1);
    300300                if (!word.len()) return false;
    301                 if (before.len()) if (!word.startsWith(before)) return false;
     301                if (before.len()) if (!word.startsWith(before.c_str())) return false;
    302302                if (after.len())
    303303                        if ((word.len() < after.len())
    304                                 || (strcmp((const char*)after, ((const char*)word) + word.len() - after.len())))
     304                                || (strcmp(after.c_str(), word.c_str() + word.len() - after.len())))
    305305                                return false;
    306306                return true;
Note: See TracChangeset for help on using the changeset viewer.