3
0
Fork 0
small_fixes
kelson42 16 years ago
parent 5ab0396692
commit 76afd215d6

@ -18,10 +18,10 @@
*/
#include <zim/dirent.h>
#include <zim/zim.h>
#include <zim/endian.h>
#include "log.h"
#include <algorithm>
#include <stdint.h>
#include <zim/endian.h>
log_define("zim.dirent")

@ -38,6 +38,13 @@ namespace zim
return r.first ? *r.second : Article();
}
Article File::getArticleByUrl(const std::string& url)
{
log_trace("File::getArticle(\"" << url << ')');
std::pair<bool, const_iterator> r = findx(url);
return r.first ? *r.second : Article();
}
Article File::getArticleByTitle(size_type idx)
{
return Article(*this, impl->getIndexByTitle(idx));
@ -113,6 +120,13 @@ namespace zim
return std::pair<bool, const_iterator>(false, const_iterator(this, c < 0 ? l : u));
}
std::pair<bool, File::const_iterator> File::findx(const std::string& url)
{
if (url.size() < 2 || url[1] != '/')
return std::pair<bool, const_iterator>(false, const_iterator());
return findx(url[0], url.substr(2));
}
std::pair<bool, File::const_iterator> File::findxByTitle(char ns, const std::string& title)
{
log_debug("find article by title " << ns << " \"" << title << "\", in file \"" << getFilename() << '"');
@ -164,6 +178,9 @@ namespace zim
File::const_iterator File::find(char ns, const std::string& url)
{ return findx(ns, url).second; }
File::const_iterator File::find(const std::string& url)
{ return findx(url).second; }
File::const_iterator File::findByTitle(char ns, const std::string& title)
{ return findxByTitle(ns, title).second; }

@ -25,6 +25,9 @@
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
log_define("zim.fstream")
@ -61,7 +64,11 @@ int streambuf::sync()
streambuf::streambuf(const char* fname, unsigned bufsize)
: buffer(bufsize),
#ifdef HAVE_OPEN64
fd(::open64(fname, 0))
#else
fd(::open(fname, 0))
#endif
{
log_debug("streambuf for " << fname << " with " << bufsize << " bytes");

@ -18,6 +18,7 @@
*/
#include <zim/lzmastream.h>
#include <zim/zim.h>
#include "log.h"
#include <cstring>
#include <sstream>

@ -18,7 +18,8 @@
*/
#include "zim/unlzmastream.h"
#include <zim/unlzmastream.h>
#include <zim/zim.h>
#include "log.h"
#include "config.h"
#include <sstream>

Loading…
Cancel
Save