Ignore:
Timestamp:
12/16/14 01:48:21 (9 years ago)
Author:
Maciej Komosinski
Message:

ParamInterface::load warns on unknown fields and skips comments

File:
1 edited

Legend:

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

    r253 r268  
    371371}
    372372
    373 int ParamInterface::load(VirtFILE* f)
     373int ParamInterface::load(VirtFILE* f,bool warn_unknown_fields)
    374374{
    375375        SString buf;
     
    384384                p0 = t; while ((*p0 == ' ') || (*p0 == '\t')) p0++;
    385385                if (!*p0) break;
     386                if (p0[0]=='#') continue;
    386387                p = strchr(p0, ':'); if (!p) continue;
    387388                p_len = (int)(p - p0);
    388389                loaded = false;
    389                 if (p_len && ((i = findIdn(p0, p_len)) >= 0) && (!(flags(i)&PARAM_DONTLOAD)))
    390                 {
     390                if (p_len && ((i = findIdn(p0, p_len)) >= 0))
     391                {
     392                if (!(flags(i)&PARAM_DONTLOAD))
     393                   {
    391394                        if (p0[p_len + 1] == '~')
    392395                        {
     
    404407                        fields_loaded++;
    405408                        loaded = true;
    406                 }
     409                   }
     410                }
     411                else if (warn_unknown_fields)
     412                        {
     413                        SString name(p0,p_len);
     414                        FMprintf("ParamInterface","load",FMLV_WARN,"Unknown property '%s' while loading object '%s'",(const char*)name,getName());
     415                        }
     416
    407417                if ((!loaded) && (p0[p_len + 1] == '~'))
    408418                { // eat unrecognized multiline field
Note: See TracChangeset for help on using the changeset viewer.