Changeset 348 for cpp/frams/param


Ignore:
Timestamp:
04/09/15 23:51:28 (10 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
Location:
cpp/frams/param
Files:
6 edited

Legend:

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

    r333 r348  
    107107        else if (status==BeforeUnknown)
    108108                {
    109                 FMprintf("MultiParamLoader","go",FMLV_WARN,"Skipping object '%s'",(const char*)lastunknown);
     109                FMprintf("MultiParamLoader","go",FMLV_WARN,"Skipping object '%s'",lastunknown.c_str());
    110110                loadObjectNow(&emptyparam,false);
    111111                continue;
     
    126126                if (buf.startsWith("#include"))
    127127                        {
    128                         const char* t=strchr((const char*)buf,'\"'),*t2=0;
     128                        const char* t=strchr(buf.c_str(),'\"'),*t2=0;
    129129                        if (t)
    130130                                t2=strchr(t+1,'\"');
     
    137137                                {
    138138                                const char* thisfilename=file->VgetPath();
    139                                 FMprintf("MultiParamLoader","go",FMLV_WARN,"invalid \"%s\"%s%s",(const char*)buf,
     139                                FMprintf("MultiParamLoader","go",FMLV_WARN,"invalid \"%s\"%s%s",buf.c_str(),
    140140                                         (thisfilename?" in ":""),(thisfilename?thisfilename:""));
    141141                                }
     
    157157                FOREACH(ExtObject*,o,objects)
    158158                        {
    159                         if (!strcmp(o->interfaceName(),lastunknown)) {lastobject=*o; break;}
     159                        if (!strcmp(o->interfaceName(),lastunknown.c_str())) {lastobject=*o; break;}
    160160                        }
    161161                        if (!lastobject.isEmpty())
     
    202202        newfilename=filename;
    203203
    204 if (alreadyIncluded(newfilename))
     204if (alreadyIncluded(newfilename.c_str()))
    205205        {
    206206        FMprintf("MultiParamLoader","include",FMLV_WARN,"circular reference ignored (\"%s\")",
    207                     (const char*)filename);
     207                    filename.c_str());
    208208        return;
    209209        }
    210210
    211 VirtFILE *f=Vfopen(newfilename,FOPEN_READ_BINARY);
     211VirtFILE *f=Vfopen(newfilename.c_str(),FOPEN_READ_BINARY);
    212212if (!f)
    213213        {
    214         FMprintf("MultiParamLoader","include",FMLV_WARN,"\"%s\" not found",(const char*)newfilename);
     214        FMprintf("MultiParamLoader","include",FMLV_WARN,"\"%s\" not found",newfilename.c_str());
    215215        }
    216216else
  • cpp/frams/param/mutableparam.cpp

    r286 r348  
    3333        if (ignoreprefix)
    3434                {
    35       const char *noprefix=(const char*)groupname(i);
     35      const char *noprefix=groupname(i).c_str();
    3636      if ((int)strlen(noprefix) < skipprefix) continue;
    3737                noprefix+=skipprefix;
    38                 if (!strcmp(noprefix,(const char*)name)) return i;
     38                if (!strcmp(noprefix,name.c_str())) return i;
    3939                }
    4040                else
     
    183183void MutableParam::p_addprop(ExtValue *args,ExtValue *ret)
    184184{
    185 int i=addProperty(0,args[2].getString(),args[1].getString(),args[0].getString());
     185int i=addProperty(0,args[2].getString().c_str(),args[1].getString().c_str(),args[0].getString().c_str());
    186186ret->setInt(i);
    187187}
     
    284284        {
    285285        SString *n=(SString*)store(i);
    286         int prop=p.findId((const char*)*n);
     286        int prop=p.findId(n->c_str());
    287287        if (prop<0)
    288                 prop=p.addProperty(0,(const char*)*n,"x",0,0,0,0,-1);
     288                prop=p.addProperty(0,n->c_str(),"x",0,0,0,0,-1);
    289289        p.setExtValue(prop,*(ExtValue*)store(i+1));
    290290        }
  • cpp/frams/param/mutableparam.h

    r286 r348  
    3636int getGroupCount() {return groups.size();}
    3737int getPropCount() {return entries.size()+staticprops;}
    38 const char *grname(int i) {return (i>=groups.size()) ? 0 : (const char*)groupname(i);}
     38const char *grname(int i) {return (i>=groups.size()) ? 0 : groupname(i).c_str();}
    3939int grmember(int g,int a);
    4040
  • cpp/frams/param/param.cpp

    r343 r348  
    301301                ws = get(i);
    302302        quoteTilde(ws);
    303         w = ws;
     303        w = ws.c_str();
    304304        if (ws.len() > 50) cr = 1;
    305305        else for (t = w; *t; t++) if ((*t == 10) || (*t == 13)) { cr = 1; break; }
     
    372372                        { // string - special case
    373373                                SString str = getString(i);
    374                                 if (strContainsOneOf(str, ", \\\n\r\t\""))
     374                                if (strContainsOneOf(str.c_str(), ", \\\n\r\t\""))
    375375                                {
    376376                                        t += "\"";
     
    403403        {
    404404                if (linenum) (*linenum)++;
    405                 const char* t = (const char*)buf;
     405                const char* t = buf.c_str();
    406406                p0 = t; while ((*p0 == ' ') || (*p0 == '\t')) p0++;
    407407                if (!*p0) break;
     
    419419                                        czytdotyldy(f, s);
    420420                                        int lfcount = 1;
    421                                         const char* tmp = s;
     421                                        const char* tmp = s.c_str();
    422422                                        while (tmp)
    423423                                                if ((tmp = strchr(tmp, '\n')))
     
    430430                                        if (linenum && (flags(i)&PARAM_LINECOMMENT))
    431431                                                s = SString::sprintf("@file %s\n@line %d\n", f->VgetPath(), *linenum + 1) + s;
    432                                         set(i, (const char*)s);
     432                                        set(i, s.c_str());
    433433                                        if (linenum)
    434434                                                (*linenum) += lfcount;
     
    445445                {
    446446                        SString name(p0, p_len);
    447                         FMprintf("ParamInterface", "load", FMLV_WARN, "Unknown property '%s' while reading object '%s' (ignored)", (const char*)name, getName());
     447                        FMprintf("ParamInterface", "load", FMLV_WARN, "Unknown property '%s' while reading object '%s' (ignored)", name.c_str(), getName());
    448448                }
    449449
     
    454454                        if (linenum)
    455455                        {
    456                                 const char* tmp = s;
     456                                const char* tmp = s.c_str();
    457457                                int lfcount = 1;
    458458                                while (tmp)
     
    562562                        if (v.type == TObj)
    563563                        {
    564                                 FMprintf("ParamInterface", "set", FMLV_WARN, "Getting integer value from object reference (%s)", (const char*)v.getString());
     564                                FMprintf("ParamInterface", "set", FMLV_WARN, "Getting integer value from object reference (%s)", v.getString().c_str());
    565565                                return 0;
    566566                        }
    567567                        else
    568                                 return setInt(i, (const char*)v.getString());
     568                                return setInt(i, v.getString().c_str());
    569569                }
    570570        case 'f':
     
    574574                        if (v.type == TObj)
    575575                        {
    576                                 FMprintf("ParamInterface", "set", FMLV_WARN, "Getting floating point value from object reference (%s)", (const char*)v.getString());
     576                                FMprintf("ParamInterface", "set", FMLV_WARN, "Getting floating point value from object reference (%s)", v.getString().c_str());
    577577                                return 0;
    578578                        }
    579579                        else
    580                                 return setDouble(i, (const char*)v.getString());
     580                                return setDouble(i, v.getString().c_str());
    581581                }
    582582        case 's': { SString t = v.getString(); return setString(i, t); }
     
    990990static const char *getline(const SString &s, int &poz, int &len)
    991991{
    992         const char *beg = (const char*)s + poz;
    993         if (poz >= s.len()) { poz = s.len(); len = 0; return (const char*)s + s.len(); }
     992        const char *beg = s.c_str() + poz;
     993        if (poz >= s.len()) { poz = s.len(); len = 0; return s.c_str() + s.len(); }
    994994        const char *lf = strchr(beg, '\n');
    995         if (!lf) { lf = (const char*)s + s.len() - 1; poz = s.len(); }
    996         else { poz = (int)(lf - (const char*)s) + 1; if (poz > s.len()) poz = s.len(); }
     995        if (!lf) { lf = s.c_str() + s.len() - 1; poz = s.len(); }
     996        else { poz = (int)(lf - s.c_str()) + 1; if (poz > s.len()) poz = s.len(); }
    997997        while (lf >= beg) if ((*lf == '\n') || (*lf == '\r')) lf--; else break;
    998998        len = (int)(lf - beg) + 1;
     
    10141014        SString tmpvalue;
    10151015        if (poz >= s.len()) return fields_loaded;
    1016         t = (const char*)s + poz;
     1016        t = s.c_str() + poz;
    10171017
    10181018        lin = getline(s, poz, len); // all fields must be encoded in a single line
     
    10601060                        {
    10611061                                SString name(t, (int)(equals_sign - t));
    1062                                 FMprintf("Param", "load2", FMLV_WARN, "Unknown property '%s' while reading object '%s' (ignored)", (const char*)name, getName());
     1062                                FMprintf("Param", "load2", FMLV_WARN, "Unknown property '%s' while reading object '%s' (ignored)", name.c_str(), getName());
    10631063                        }
    10641064                        t = equals_sign + 1; // t=value
     
    10811081                                tmpvalue.copyFrom(quote + 1, (int)(quote2 - quote) - 1);
    10821082                                sstringUnquote(tmpvalue);
    1083                                 value = tmpvalue;
     1083                                value = tmpvalue.c_str();
    10841084                                valstop = quote2;
    10851085                        }
  • cpp/frams/param/param.h

    r333 r348  
    274274                        SString actual = get(i);
    275275                        FMprintf("Param", "set", FMLV_WARN, "Setting '%s.%s = %s' exceeded allowed range (too %s). Adjusted to %s.",
    276                                 getName(), id(i), (const char*)svaluetoset, (setflags&PSET_HITMAX) ? "big" : "small", (const char*)actual);
     276                                getName(), id(i), svaluetoset.c_str(), (setflags&PSET_HITMAX) ? "big" : "small", actual.c_str());
    277277                }
    278278        }
  • cpp/frams/param/paramobj.cpp

    r326 r348  
    5858                t->name = maybedup(dupentries, "create new object");
    5959                SString tmp = SString::sprintf("p o%s()", pi->getName());
    60                 t->type = maybedup(dupentries, (const char*)tmp);
     60                t->type = maybedup(dupentries, tmp.c_str());
    6161                t->help = maybedup(dupentries, pi->help(i));
    6262                t->flags = 0;
Note: See TracChangeset for help on using the changeset viewer.