int predictor_setup(const char *filename, const char *predictor_name) { int str_size = 0; //Try to open file _fp = fopen(filename, "r"); if (_fp == NULL) { fprintf(stderr, "%s\n", strerror(errno)); return -1; } //Init stats data structures init_elements(&e); _state = ADDR; str_size = strlen(filename) + 1; _filename = malloc(str_size * sizeof(char)); strncpy(_filename, filename, str_size); str_size = strlen(predictor_name) + 1; _predictor_name = malloc(str_size * sizeof(char)); strncpy(_predictor_name, predictor_name, str_size); parseNextLine(); return 0; }
/*! \internal Parses configuration from \a stream. */ void QLoggingSettingsParser::setContent(QTextStream &stream) { _rules.clear(); QString line; while (stream.readLineInto(&line)) parseNextLine(QStringRef(&line)); }
/*! \internal Parses configuration from \a content. */ void QLoggingSettingsParser::setContent(const QString &content) { _rules.clear(); const auto lines = content.splitRef(QLatin1Char('\n')); for (const auto &line : lines) parseNextLine(line); }
void Worker::addr2lineFinished(int status) { Q_UNUSED(status); QString line = m_process->readAll(); if(line.length()) { line.remove("\n"); } emit addr2lineParsed(m_currentAddress, line); emit parseNextLine(); }
void Worker::run() { QVectorIterator< QString > it(m_addresses); it.toBack(); while(it.hasPrevious()) { m_currentAddress = it.previous(); QEventLoop loop; connect(this, SIGNAL(parseNextLine()), &loop, SLOT(quit())); m_process->start("addr2line", QStringList() << "-e" << m_program << m_currentAddress); loop.exec(); } }
const int predictor_predict(const bool prediction, bool *result) { //Check if we are in a valid state if (_state != PRED) { return -1; } _state = ADDR; *result = _taken; //Update predictions addPrediction(_addr, prediction, _taken); //Parse next line parseNextLine(); return 0; }
bool IPFileParser::parseIPList( const char* FileName, std::vector<IPADDRESSBAN_s> &IPArray ) { FILE *pFile; IPArray.clear(); char curChar = 0; _numberOfEntries = 0; if (( pFile = fopen( FileName, "r" )) != NULL ) { while ( true ) { IPADDRESSBAN_s IP; IP.tExpirationDate = 0; ULONG oldNumberOfEntries = _numberOfEntries; bool parsingDone = !parseNextLine( pFile, IP, _numberOfEntries ); if ( _errorMessage[0] != '\0' ) { fclose( pFile ); return false; } else if ( oldNumberOfEntries < _numberOfEntries ) IPArray.push_back( IP ); if ( parsingDone == true ) break; } } else { sprintf( _errorMessage, "%s", GenerateCouldNotOpenFileErrorString( "IPFileParser::parseIPList", FileName, errno ).c_str() ); return false; } fclose( pFile ); if ( _numberOfEntries > 0 ) Printf( "%s: %d entr%s loaded.\n", FileName, static_cast<unsigned int>(_numberOfEntries), ( _numberOfEntries == 1 ) ? "y" : "ies" ); return true; }