forked from premiere/premiere-libtorrent
don't expose load_file as a public function
This commit is contained in:
parent
10331a3ddb
commit
facbf9c178
|
@ -192,6 +192,67 @@ bool print_send_bufs = true;
|
||||||
// without having received a response (successful or failure)
|
// without having received a response (successful or failure)
|
||||||
int num_outstanding_resume_data = 0;
|
int num_outstanding_resume_data = 0;
|
||||||
|
|
||||||
|
int load_file(std::string const& filename, std::vector<char>& v, libtorrent::error_code& ec, int limit = 8000000)
|
||||||
|
{
|
||||||
|
ec.clear();
|
||||||
|
FILE* f = fopen(filename.c_str(), "rb");
|
||||||
|
if (f == NULL)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int r = fseek(f, 0, SEEK_END);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
long s = ftell(f);
|
||||||
|
if (s < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s > limit)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fseek(f, 0, SEEK_SET);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
v.resize(s);
|
||||||
|
if (s == 0)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fread(&v[0], 1, v.size(), f);
|
||||||
|
if (r < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
|
if (r != s) return -3;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
torrents_all,
|
torrents_all,
|
||||||
torrents_downloading,
|
torrents_downloading,
|
||||||
|
|
|
@ -36,6 +36,67 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/lazy_entry.hpp"
|
#include "libtorrent/lazy_entry.hpp"
|
||||||
#include "libtorrent/magnet_uri.hpp"
|
#include "libtorrent/magnet_uri.hpp"
|
||||||
|
|
||||||
|
int load_file(std::string const& filename, std::vector<char>& v, libtorrent::error_code& ec, int limit = 8000000)
|
||||||
|
{
|
||||||
|
ec.clear();
|
||||||
|
FILE* f = fopen(filename.c_str(), "rb");
|
||||||
|
if (f == NULL)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int r = fseek(f, 0, SEEK_END);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
long s = ftell(f);
|
||||||
|
if (s < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s > limit)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fseek(f, 0, SEEK_SET);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
v.resize(s);
|
||||||
|
if (s == 0)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fread(&v[0], 1, v.size(), f);
|
||||||
|
if (r < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
|
if (r != s) return -3;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
|
@ -44,6 +44,67 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
||||||
|
int load_file(std::string const& filename, std::vector<char>& v, libtorrent::error_code& ec, int limit = 8000000)
|
||||||
|
{
|
||||||
|
ec.clear();
|
||||||
|
FILE* f = fopen(filename.c_str(), "rb");
|
||||||
|
if (f == NULL)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int r = fseek(f, 0, SEEK_END);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
long s = ftell(f);
|
||||||
|
if (s < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s > limit)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fseek(f, 0, SEEK_SET);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
v.resize(s);
|
||||||
|
if (s == 0)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fread(&v[0], 1, v.size(), f);
|
||||||
|
if (r < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
|
if (r != s) return -3;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// do not include files and folders whose
|
// do not include files and folders whose
|
||||||
// name starts with a .
|
// name starts with a .
|
||||||
bool file_filter(std::string const& f)
|
bool file_filter(std::string const& f)
|
||||||
|
|
|
@ -39,6 +39,67 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
||||||
|
int load_file(std::string const& filename, std::vector<char>& v, libtorrent::error_code& ec, int limit = 8000000)
|
||||||
|
{
|
||||||
|
ec.clear();
|
||||||
|
FILE* f = fopen(filename.c_str(), "rb");
|
||||||
|
if (f == NULL)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int r = fseek(f, 0, SEEK_END);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
long s = ftell(f);
|
||||||
|
if (s < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s > limit)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fseek(f, 0, SEEK_SET);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
v.resize(s);
|
||||||
|
if (s == 0)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fread(&v[0], 1, v.size(), f);
|
||||||
|
if (r < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
|
if (r != s) return -3;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void print_feed(feed_status const& f)
|
void print_feed(feed_status const& f)
|
||||||
{
|
{
|
||||||
printf("FEED: %s\n",f.url.c_str());
|
printf("FEED: %s\n",f.url.c_str());
|
||||||
|
|
|
@ -50,9 +50,6 @@ namespace libtorrent
|
||||||
{
|
{
|
||||||
struct lazy_entry;
|
struct lazy_entry;
|
||||||
|
|
||||||
TORRENT_EXPORT char const* parse_int(char const* start, char const* end
|
|
||||||
, char delimiter, boost::int64_t& val);
|
|
||||||
|
|
||||||
// return 0 = success
|
// return 0 = success
|
||||||
TORRENT_EXPORT int lazy_bdecode(char const* start, char const* end
|
TORRENT_EXPORT int lazy_bdecode(char const* start, char const* end
|
||||||
, lazy_entry& ret, error_code& ec, int* error_pos = 0
|
, lazy_entry& ret, error_code& ec, int* error_pos = 0
|
||||||
|
@ -66,7 +63,7 @@ namespace libtorrent
|
||||||
, lazy_entry& ret, int depth_limit = 1000, int item_limit = 1000000) TORRENT_DEPRECATED;
|
, lazy_entry& ret, int depth_limit = 1000, int item_limit = 1000000) TORRENT_DEPRECATED;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct pascal_string
|
struct TORRENT_EXPORT pascal_string
|
||||||
{
|
{
|
||||||
pascal_string(char const* p, int l): len(l), ptr(p) {}
|
pascal_string(char const* p, int l): len(l), ptr(p) {}
|
||||||
int len;
|
int len;
|
||||||
|
@ -282,6 +279,7 @@ namespace libtorrent
|
||||||
lazy_entry val;
|
lazy_entry val;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO: 3 does this need to be a public function?
|
||||||
TORRENT_EXPORT std::string print_entry(lazy_entry const& e
|
TORRENT_EXPORT std::string print_entry(lazy_entry const& e
|
||||||
, bool single_line = false, int indent = 0);
|
, bool single_line = false, int indent = 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,10 +235,6 @@ namespace libtorrent
|
||||||
typedef libtorrent_exception invalid_torrent_file;
|
typedef libtorrent_exception invalid_torrent_file;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// TODO: 3 should this really be a public symbol?
|
|
||||||
int TORRENT_EXPORT load_file(std::string const& filename
|
|
||||||
, std::vector<char>& v, error_code& ec, int limit = 8000000);
|
|
||||||
|
|
||||||
class TORRENT_EXPORT torrent_info : public intrusive_ptr_base<torrent_info>
|
class TORRENT_EXPORT torrent_info : public intrusive_ptr_base<torrent_info>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -457,7 +457,7 @@ namespace libtorrent
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int load_file(std::string const& filename, std::vector<char>& v, error_code& ec, int limit)
|
int load_file(std::string const& filename, std::vector<char>& v, error_code& ec, int limit = 8000000)
|
||||||
{
|
{
|
||||||
ec.clear();
|
ec.clear();
|
||||||
file f;
|
file f;
|
||||||
|
|
|
@ -95,6 +95,67 @@ std::auto_ptr<alert> wait_for_alert(session& ses, int type)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int load_file(std::string const& filename, std::vector<char>& v, libtorrent::error_code& ec, int limit)
|
||||||
|
{
|
||||||
|
ec.clear();
|
||||||
|
FILE* f = fopen(filename.c_str(), "rb");
|
||||||
|
if (f == NULL)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int r = fseek(f, 0, SEEK_END);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
long s = ftell(f);
|
||||||
|
if (s < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s > limit)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fseek(f, 0, SEEK_SET);
|
||||||
|
if (r != 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
v.resize(s);
|
||||||
|
if (s == 0)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = fread(&v[0], 1, v.size(), f);
|
||||||
|
if (r < 0)
|
||||||
|
{
|
||||||
|
ec.assign(errno, boost::system::get_generic_category());
|
||||||
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
|
||||||
|
if (r != s) return -3;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
bool print_alerts(libtorrent::session& ses, char const* name
|
bool print_alerts(libtorrent::session& ses, char const* name
|
||||||
, bool allow_disconnects, bool allow_no_torrents, bool allow_failed_fastresume
|
, bool allow_disconnects, bool allow_no_torrents, bool allow_failed_fastresume
|
||||||
, bool (*predicate)(libtorrent::alert*), bool no_output)
|
, bool (*predicate)(libtorrent::alert*), bool no_output)
|
||||||
|
|
|
@ -46,6 +46,8 @@ namespace libtorrent
|
||||||
|
|
||||||
extern EXPORT bool tests_failure;
|
extern EXPORT bool tests_failure;
|
||||||
|
|
||||||
|
int EXPORT load_file(std::string const& filename, std::vector<char>& v, libtorrent::error_code& ec, int limit = 8000000);
|
||||||
|
|
||||||
void EXPORT report_failure(char const* err, char const* file, int line);
|
void EXPORT report_failure(char const* err, char const* file, int line);
|
||||||
|
|
||||||
std::auto_ptr<libtorrent::alert> EXPORT wait_for_alert(libtorrent::session& ses, int type);
|
std::auto_ptr<libtorrent::alert> EXPORT wait_for_alert(libtorrent::session& ses, int type);
|
||||||
|
|
|
@ -126,6 +126,7 @@ void run_test(std::string const& url, int size, int status, int connected
|
||||||
std::cerr << "handler_called: " << handler_called << std::endl;
|
std::cerr << "handler_called: " << handler_called << std::endl;
|
||||||
std::cerr << "status: " << http_status << std::endl;
|
std::cerr << "status: " << http_status << std::endl;
|
||||||
std::cerr << "size: " << data_size << std::endl;
|
std::cerr << "size: " << data_size << std::endl;
|
||||||
|
std::cerr << "expected-size: " << size << std::endl;
|
||||||
std::cerr << "error_code: " << g_error_code.message() << std::endl;
|
std::cerr << "error_code: " << g_error_code.message() << std::endl;
|
||||||
TEST_CHECK(connect_handler_called == connected);
|
TEST_CHECK(connect_handler_called == connected);
|
||||||
TEST_CHECK(handler_called == 1);
|
TEST_CHECK(handler_called == 1);
|
||||||
|
|
|
@ -37,6 +37,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/http_parser.hpp"
|
#include "libtorrent/http_parser.hpp"
|
||||||
|
|
||||||
#include "test.hpp"
|
#include "test.hpp"
|
||||||
|
#include "setup_transfer.hpp" // for load_file
|
||||||
|
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue