Changeset 1261

Show
Ignore:
Timestamp:
08/24/08 18:25:07 (2 years ago)
Author:
ahu
Message:

speed up ArgvMap::contains()

Location:
trunk/pdns/pdns
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/arguments.cc

    r1242 r1261  
    7777bool ArgvMap::contains(const string &var, const string &val) 
    7878{ 
     79  params_t::const_iterator param = params.find(var); 
     80  if(param == params.end() || param->second.empty())  { 
     81    return false; 
     82  } 
    7983  vector<string> parts; 
    8084  vector<string>::const_iterator i; 
    8185   
    82   stringtok( parts, params[var], ", \t" ); 
     86  stringtok( parts, param->second, ", \t" ); 
    8387  for( i = parts.begin(); i != parts.end(); i++ ) { 
    8488    if( *i == val ) { 
     
    8993  return false; 
    9094} 
    91  
    9295 
    9396string ArgvMap::helpstring(string prefix) 
  • trunk/pdns/pdns/arguments.hh

    r681 r1261  
    107107private: 
    108108  void parseOne(const string &unparsed, const string &parseOnly="", bool lax=false); 
    109   map<string,string> params; 
     109  typedef map<string,string> params_t; 
     110  params_t params; 
    110111  map<string,string> helpmap; 
    111112  map<string,string> d_typeMap;