Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix

This commit is contained in:
Kelson42 2014-10-20 15:39:08 +02:00
commit 864922ab86
1 changed files with 9 additions and 3 deletions

View File

@ -196,9 +196,15 @@ namespace kiwix {
/* Return an URL from a title*/ /* Return an URL from a title*/
string Reader::getRandomPageUrl() { string Reader::getRandomPageUrl() {
zim::size_type idx = this->firstArticleOffset + zim::Article article;
(zim::size_type)((double)rand() / ((double)RAND_MAX + 1) * this->nsACount); zim::size_type idx;
zim::Article article = zimFileHandler->getArticle(idx); std::string mainPageUrl = this->getMainPageUrl();
do {
idx = this->firstArticleOffset +
(zim::size_type)((double)rand() / ((double)RAND_MAX + 1) * this->nsACount);
article = zimFileHandler->getArticle(idx);
} while (article.getLongUrl() == mainPageUrl);
return article.getLongUrl().c_str(); return article.getLongUrl().c_str();
} }