X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FDVB%2FDVBConfigParser.cc;h=23a88ee94bfde79a3384cd46da1ed1cfb0a6c846;hb=797cc66c49bb69e0bd084d1b7ec4269ba52de50d;hp=2fc87ae9e66073c0c3118a49f9bbe556b43a7c67;hpb=92fd389adc2b26e84344d34d5528c0eb55e145cc;p=senf.git diff --git a/Socket/Protocols/DVB/DVBConfigParser.cc b/Socket/Protocols/DVB/DVBConfigParser.cc index 2fc87ae..23a88ee 100644 --- a/Socket/Protocols/DVB/DVBConfigParser.cc +++ b/Socket/Protocols/DVB/DVBConfigParser.cc @@ -82,17 +82,21 @@ prefix_ void senf::DVBConfigParser::initConfigFile(string configFilePath_){ } configFilePath_ = configPath; } - configFile.open( configFilePath_.c_str(), ios_base::in); + configFile.open( configFilePath.c_str(), ios_base::in); if(configFile.bad()) - SENF_THROW_SYSTEM_EXCEPTION("Could not read configfile: ") << configFilePath_ << "."; + SENF_LOG((senf::log::IMPORTANT) ("Could not open channels file"<< configFilePath << "." )); + configFile.close(); } prefix_ string senf::DVBConfigParser::getConfigLine(string channel) { string configLine; size_t pos; transform(channel.begin(), channel.end(), channel.begin(), ::toupper); - if(configFile.bad()) - SENF_THROW_SYSTEM_EXCEPTION("Could not read file."); + + configFile.open( configFilePath.c_str(), ios_base::in); + if(configFile.bad()) + SENF_THROW_SYSTEM_EXCEPTION("Could not read channels file: ") << configFilePath << "."; + configFile.seekg(0); while (configFile.good()){ getline( configFile, configLine ); @@ -101,10 +105,11 @@ prefix_ string senf::DVBConfigParser::getConfigLine(string channel) pos = configLine.find(channel); if(pos != string::npos && pos == 0){ // only first matching number should be interpreted as channel number - configFile.seekg(0); + configFile.close(); return configLine; // Line found! } } + configFile.close(); SENF_THROW_SYSTEM_EXCEPTION("Channel \"")<< channel << "\" not found!"; return channel; }