Changeset 973 for cpp/frams/param


Ignore:
Timestamp:
07/03/20 00:37:13 (4 years ago)
Author:
Maciej Komosinski
Message:

Increased SString and std::string compatibility: introduced length(), size(), and capacity(), and removed legacy methods that have std::string equivalents

Location:
cpp/frams/param
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/param/multiparamload.cpp

    r720 r973  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2020  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    158158                }
    159159                buf = trim(buf);
    160                 if (buf.len() == 0)
    161                         unexpected_line = 0;
    162                 else if ((buf.len() > 1) && (buf[buf.len() - 1] == ':'))
     160                if (buf.length() == 0)
     161                        unexpected_line = 0;
     162                else if ((buf.length() > 1) && (buf[buf.length() - 1] == ':'))
    163163                {
    164164                        unexpected_line = 0;
    165165                        lastunknown = 0;
    166                         lastunknown = buf.substr(0, buf.len() - 1);
     166                        lastunknown = buf.substr(0, buf.length() - 1);
    167167                        lastobject.setEmpty();
    168168                        FOREACH(ExtObject*, o, objects)
     
    193193                                        thisfilename ? SString::sprintf(" while reading '%s'", thisfilename).c_str() : "");
    194194                        }
    195                                 break;
     195                        break;
    196196
    197197                        case 1:
     
    293293                if (stat == OnError)
    294294                {
    295                 abort();
    296                 return 0;
     295                        abort();
     296                        return 0;
    297297                }
    298298        return 1;
  • cpp/frams/param/mutableparam.cpp

    r884 r973  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2020  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    3333int MutableParam::findGroup(const SString name, int ignoreprefix)
    3434{
    35         int skipprefix = grprefix.len() ? grprefix.len() + 2 : 0;
     35        int skipprefix = grprefix.length() ? grprefix.length() + 2 : 0;
    3636        for (int i = 0; i < groups.size(); i++)
    3737        {
     
    5757        {
    5858                tmp = grprefix;
    59                 if (tmp.len()) tmp += ": ";
     59                if (tmp.length()) tmp += ": ";
    6060                tmp += gname;
    6161        }
  • cpp/frams/param/param.cpp

    r950 r973  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2020  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    5656        int j;
    5757        for (int i = 0; i < n; i++)
    58                 if ((!(flags(i)&PARAM_READONLY))
     58                if ((!(flags(i) & PARAM_READONLY))
    5959                        && (*type(i) != 'p'))
    6060                {
     
    7171        ExtValue v;
    7272        for (int i = 0; i < n; i++)
    73                 if ((!(flags(i)&PARAM_READONLY))
     73                if ((!(flags(i) & PARAM_READONLY))
    7474                        && (*type(i) != 'p'))
    7575                {
     
    178178                else
    179179                {
    180                         if (def.len() > 0) setExtValue(i, ExtValue(def)); else setExtValue(i, ExtValue::empty());
     180                        if (def.length() > 0) setExtValue(i, ExtValue(def)); else setExtValue(i, ExtValue::empty());
    181181                }
    182182        }
     
    303303int ParamInterface::saveprop(VirtFILE* f, int i, const char* p, bool force)
    304304{
    305         if ((flags(i)&PARAM_DONTSAVE) && (!force)) return 0;
     305        if ((flags(i) & PARAM_DONTSAVE) && (!force)) return 0;
    306306        const char *typ = type(i);
    307307        if (*typ == 'p') return 0;
     
    323323        quoteTilde(ws);
    324324        w = ws.c_str();
    325         if (ws.len() > 50) cr = 1;
     325        if (ws.length() > 50) cr = 1;
    326326        else for (t = w; *t; t++) if ((*t == 10) || (*t == 13)) { cr = 1; break; }
    327327        if (cr) f->Vputs("~\n");
     
    334334{
    335335        SString ret = getName();
    336         ret+=".";
    337         ret+=id(prop);
     336        ret += ".";
     337        ret += id(prop);
    338338        return ret;
    339339}
     
    342342{
    343343        SString name_dot_prop = nameDotProperty(prop);
    344         if (strcmp(getName(),getLongName())==0)
    345                 {
    346                 if (strcmp(id(prop),name(prop))==0)
     344        if (strcmp(getName(), getLongName()) == 0)
     345        {
     346                if (strcmp(id(prop), name(prop)) == 0)
    347347                        return name_dot_prop;
    348348                else
    349                         return SString("'")+name(prop)+"': "+name_dot_prop;
    350                 }
    351         else
    352                 return SString("'")+name(prop)+"' in '"+getLongName()+"': "+name_dot_prop;
     349                        return SString("'") + name(prop) + "': " + name_dot_prop;
     350        }
     351        else
     352                return SString("'") + name(prop) + "' in '" + getLongName() + "': " + name_dot_prop;
    353353}
    354354
     
    394394        // t+=SString(getName()); t+=':';
    395395        for (i = 0; p = id(i); i++)
    396                 if (!((fl = flags(i))&PARAM_DONTSAVE))
     396                if (!((fl = flags(i)) & PARAM_DONTSAVE))
    397397                {
    398398                        if (defdata && isequal(i, defdata))
     
    469469                        nameDotPropertyForMessages(i).c_str(),
    470470                        ::sstringDelimitAndShorten(svaluetoset, 30, show_length, quote, quote).c_str(),
    471                         (setflags&PSET_HITMAX) ? (s_type ? "long" : "big") : "small", s_type ? "Truncated" : "Adjusted",
     471                        (setflags & PSET_HITMAX) ? (s_type ? "long" : "big") : "small", s_type ? "Truncated" : "Adjusted",
    472472                        ::sstringDelimitAndShorten(actual, 30, show_length, quote, quote).c_str()
    473473                );
     
    583583                        else
    584584                                seen[i] = true;
    585                         if (!(flags(i)&PARAM_DONTLOAD))
     585                        if (!(flags(i) & PARAM_DONTLOAD))
    586586                        {
    587587                                if (p0[p_len + 1] == '~')
     
    600600                                        int ch; while ((ch = f->Vgetc()) != EOF) if (ch == '\n') break;
    601601                                        unquoteTilde(s);
    602                                         if (options.linenum && (flags(i)&PARAM_LINECOMMENT))
     602                                        if (options.linenum && (flags(i) & PARAM_LINECOMMENT))
    603603                                                s = SString::sprintf("@file %s\n@line %d\n", f->VgetPath(), *options.linenum + 1) + s;
    604604                                        setFromString(i, s.c_str(), false);
     
    943943        if (err != NULL)
    944944                logPrintf("SimpleAbstractParam", "sanityCheck", LOG_ERROR,
    945                           "Invalid ParamEntry for %s (%s)", nameDotPropertyForMessages(i).c_str(), err);
     945                        "Invalid ParamEntry for %s (%s)", nameDotPropertyForMessages(i).c_str(), err);
    946946}
    947947#endif
     
    10541054        ExtValue v;
    10551055        ParamEntry *pe = entry(i);
    1056         if (pe->flags&PARAM_READONLY) return PSET_RONLY;
     1056        if (pe->flags & PARAM_READONLY) return PSET_RONLY;
    10571057        paInt xcopy = x; //only needed for messageOnExceedRange(): retain original, requested value of x because it may be changed below
    10581058        paInt mn = 0, mx = 0, de = 0;
     
    10881088        ExtValue v;
    10891089        ParamEntry *pe = entry(i);
    1090         if (pe->flags&PARAM_READONLY) return PSET_RONLY;
     1090        if (pe->flags & PARAM_READONLY) return PSET_RONLY;
    10911091        double xcopy = x; //only needed for messageOnExceedRange(): retain original, requested value of x because it may be changed below
    10921092        double mn = 0, mx = 0, de = 0;
     
    11241124        const SString *xx = &x;
    11251125        ParamEntry *pe = entry(i);
    1126         if (pe->flags&PARAM_READONLY) return PSET_RONLY;
     1126        if (pe->flags & PARAM_READONLY) return PSET_RONLY;
    11271127        SString xcopy = x; //only needed for messageOnExceedRange(): retain original, requested value of x because it may be changed below
    11281128        const char* t = pe->type + 1;
     
    11321132        if (sscanf(t, "%d %d", &mn, &mx) == 2) //using getMinMax would also get default value, which is not needed here
    11331133        {
    1134                 if ((x.len() > mx) && (mx > 0))
     1134                if ((x.length() > mx) && (mx > 0))
    11351135                {
    11361136                        vs = x.substr(0, mx);
     
    11631163        ExtValue v;
    11641164        ParamEntry *pe = entry(i);
    1165         if (pe->flags&PARAM_READONLY) return PSET_RONLY;
    1166         if (pe->flags&PARAM_OBJECTSET)
     1165        if (pe->flags & PARAM_READONLY) return PSET_RONLY;
     1166        if (pe->flags & PARAM_OBJECTSET)
    11671167        {
    11681168                ExtObject o = getObject(i);
     
    12001200        SANITY_CHECK(i);
    12011201        ParamEntry *pe = entry(i);
    1202         if (pe->flags&PARAM_READONLY) return PSET_RONLY;
     1202        if (pe->flags & PARAM_READONLY) return PSET_RONLY;
    12031203        ExtValue xcopy = x; //only needed for messageOnExceedRange(): retain original, requested value of x because it may be changed below
    12041204        if (pe->fun2)
     
    12551255{
    12561256        const char *beg = s.c_str() + poz;
    1257         if (poz >= s.len()) { poz = s.len(); len = 0; return s.c_str() + s.len(); }
     1257        if (poz >= s.length()) { poz = s.length(); len = 0; return s.c_str() + s.length(); }
    12581258        const char *lf = strchr(beg, '\n');
    1259         if (!lf) { lf = s.c_str() + s.len() - 1; poz = s.len(); }
    1260         else { poz = (int)(lf - s.c_str()) + 1; if (poz > s.len()) poz = s.len(); }
     1259        if (!lf) { lf = s.c_str() + s.length() - 1; poz = s.length(); }
     1260        else { poz = (int)(lf - s.c_str()) + 1; if (poz > s.length()) poz = s.length(); }
    12611261        while (lf >= beg) if ((*lf == '\n') || (*lf == '\r')) lf--; else break;
    12621262        len = (int)(lf - beg) + 1;
     
    12781278        SString tmpvalue;
    12791279        bool parse_failed = false;
    1280         if (options.offset >= s.len()) return fields_loaded;
     1280        if (options.offset >= s.length()) return fields_loaded;
    12811281        t = s.c_str() + options.offset;
    12821282
     
    13161316                if (field_end == t)     // skip empty value
    13171317                {
    1318                         t++; if (i>=0) i++;
     1318                        t++; if (i >= 0) i++;
    13191319                        continue;
    13201320                }
     
    13321332#ifdef WARN_MISSING_NAME
    13331333                else // no parameter name
    1334                         {
     1334                {
    13351335#ifdef SAVE_SELECTED_NAMES
    13361336                        if ((i < 0) // field after unknown field
    1337                             || (i >= getPropCount()) // field after last field
    1338                             || !(flags(i)&PARAM_CANOMITNAME)) // valid field but it can't be skipped
     1337                                || (i >= getPropCount()) // field after last field
     1338                                || !(flags(i) & PARAM_CANOMITNAME)) // valid field but it can't be skipped
    13391339#endif
    13401340                        {
     
    13441344                                        logPrintf("Param", "loadSingleLine", LOG_WARN, "Value after the last property of '%s'", getName());
    13451345                        }
    1346                         }
     1346                }
    13471347                //else skipping a skippable field
    13481348#endif
     
    13641364                        ret = setFromString(i, value, true);
    13651365                        fields_loaded++;
    1366                         if (ret&PSET_PARSEFAILED)
     1366                        if (ret & PSET_PARSEFAILED)
    13671367                                parse_failed = true;
    13681368                        *(char*)valstop = remember;
Note: See TracChangeset for help on using the changeset viewer.