コード例 #1
0
void CallConf( void )
{
    char        *ptr;
    unsigned    i;
    bool        first;

    if( _IsOn( SW_HAVE_SET_CALL ) ) {
        ptr = TxtBuff;
        if( DefCallType != MAD_MSTR_NIL ) {
            *ptr++ = '/';
            ptr += MADCli( String )( DefCallType, ptr, TXT_LEN );
        }
        *ptr++ = '(';
        first = true;
        for( i = 0; i < MAX_PARMS; ++i ) {
            if( DefParms[i] != NULL ) {
                if( !first ) {
                    *ptr++ = ',';
                }
                ptr = StrCopy( DefParms[i], ptr );
                first = false;
            }
        }
        *ptr++ = ')';
        if( DefReturn == NULL ) {
            *ptr++ = '/';
            *ptr = NULLCHAR;
        } else {
            StrCopy( DefReturn, ptr );
        }
        ConfigLine( TxtBuff );
    }
}
コード例 #2
0
void SourceConf( void )
{
    char_ring *curr;
    char *ptr;

    ptr = TxtBuff;
    for( curr = SrcSpec; curr != NULL; curr = curr->next ) {
        if( ptr != TxtBuff ) {
            *ptr = NULLCHAR;
            ConfigLine( TxtBuff );
            ptr = StrCopy( "/add ", TxtBuff );
        }
        *ptr++ = '{';
        ptr = StrCopy( curr->name, ptr );
        *ptr++ = '}';
    }
    *ptr = NULLCHAR;
    ConfigLine( TxtBuff );
}
コード例 #3
0
ファイル: dbgset.c プロジェクト: NoSuchProcess/open-watcom-v2
static void LangConf( void )
{
    ConfigLine( Language );
}
コード例 #4
0
ファイル: dbgset.c プロジェクト: NoSuchProcess/open-watcom-v2
void ShowSwitch( bool on )
{
    GetCmdEntry( "ON\0OFf\0", on ? 0 : 1, TxtBuff );
    ConfigLine( TxtBuff );
}
コード例 #5
0
ファイル: dbgscan.c プロジェクト: Ukusbobra/open-watcom-v2
void RadixConf( void )
{
    *CnvULongDec( DefRadix, TxtBuff ) = NULLCHAR;
    ConfigLine( TxtBuff );
}
コード例 #6
0
bool ConfigParser::Parse(void) {
  if(!f_) {
    logger_.msg(Arc::ERROR, "Configuration file can not be read");
    return false;
  };
  while(f_.good()) {
    if(!f_) {
      logger_.msg(Arc::ERROR, "Configuration file can not be read");
      return false;
    };
    std::string line;
    getline(f_,line);
    line = Arc::trim(line);
    if(line.empty()) continue;
    if(line[0] == '#') continue;
    if(line[0] == '[') {
      if(line.length() < 2) {
        logger_.msg(Arc::ERROR, "Configuration file is broken - block name is too short: %s",line);
        return false;
      };
      if(!block_id_.empty()) {
        if(!BlockEnd(block_id_,block_name_)) {
          return false;
        };
      };
      line = line.substr(1,line.length()-2);
      block_id_ = "";
      block_name_ = "";
      std::string::size_type ps = line.find('/');
      if(ps != std::string::npos) {
        block_name_ = Arc::trim(line.substr(ps+1));
        line.resize(ps);
      };
      line = Arc::trim(line);
      block_id_ = line;
      if(!BlockStart(block_id_,block_name_)) {
        return false;
      };
      continue;
    };
    std::string cmd;
    std::string::size_type p = line.find('=');
    if(p == std::string::npos) {
      cmd = Arc::trim(line);
      line = "";
    } else {
      cmd = Arc::trim(line.substr(0,p));
      line = Arc::trim(line.substr(p+1));
      if(is_nested(line)) line=line.substr(1,line.length()-2);
    };
    if(cmd == "name") {
      if(p != std::string::npos) {
        block_name_ = Arc::trim(Arc::trim(line),"\"");
      };
      continue;
    };
    if(!ConfigLine(block_id_,block_name_,cmd,line)) {
      return false;
    };
  };
  if(!block_id_.empty()) {
    if(!BlockEnd(block_id_,block_name_)) return false;
  };
  return true;
}