Merge pull request #53 from kiwix/zim_no_countermeta

Check that 'M/Counter' exists before trying to read it.
This commit is contained in:
Matthieu Gautier 2017-05-23 17:37:07 +02:00 committed by GitHub
commit 0343c23f82
1 changed files with 10 additions and 8 deletions

View File

@ -103,15 +103,17 @@ namespace kiwix {
zim::Article article = this->zimFileHandler->getArticle('M',"Counter"); zim::Article article = this->zimFileHandler->getArticle('M',"Counter");
stringstream ssContent(article.getData()); if ( article.good() ) {
stringstream ssContent(article.getData());
while(getline(ssContent, item, ';')) { while(getline(ssContent, item, ';')) {
stringstream ssItem(item); stringstream ssItem(item);
getline(ssItem, mimeType, '='); getline(ssItem, mimeType, '=');
getline(ssItem, counterString, '='); getline(ssItem, counterString, '=');
if (!counterString.empty() && !mimeType.empty()) { if (!counterString.empty() && !mimeType.empty()) {
sscanf(counterString.c_str(), "%u", &counter); sscanf(counterString.c_str(), "%u", &counter);
counters.insert(pair<string, int>(mimeType, counter)); counters.insert(pair<string, int>(mimeType, counter));
}
} }
} }