diff --git a/include/libtorrent/lazy_entry.hpp b/include/libtorrent/lazy_entry.hpp index ffd4337e4..ffb5b67ee 100644 --- a/include/libtorrent/lazy_entry.hpp +++ b/include/libtorrent/lazy_entry.hpp @@ -124,6 +124,7 @@ namespace libtorrent size_type dict_find_int_value(char const* name, size_type default_val = 0) const; lazy_entry const* dict_find_dict(char const* name) const; lazy_entry const* dict_find_list(char const* name) const; + lazy_entry const* dict_find_string(char const* name) const; std::pair dict_at(int i) const { diff --git a/src/lazy_bdecode.cpp b/src/lazy_bdecode.cpp index 5c1e37419..7d2804ff8 100644 --- a/src/lazy_bdecode.cpp +++ b/src/lazy_bdecode.cpp @@ -260,6 +260,13 @@ namespace libtorrent return e->string_value(); } + lazy_entry const* lazy_entry::dict_find_string(char const* name) const + { + lazy_entry const* e = dict_find(name); + if (e == 0 || e->type() != lazy_entry::string_t) return 0; + return e; + } + size_type lazy_entry::dict_find_int_value(char const* name, size_type default_val) const { lazy_entry const* e = dict_find(name);