rem: path::default_name_check(no_check);
context: int main(int argc, char* argv[]){	using namespace libtorrent;	using namespace boost::filesystem;	if (argc != 4)	{		std::cerr << "usage: make_torrent <output torrent-file> <announce url> <file or directory to create torrent from>\n";		return 1;	}	path::default_name_check(no_check);	try	{		torrent_info t;		path full_path = complete(path(argv[3]));		ofstream out(complete(path(argv[1])), std::ios_base::binary);		int piece_size = 256 * 1024;		char const* creator_str = "libtorrent";		add_files(t, full_path.branch_path(), full_path.leaf());		t.set_piece_size(piece_size);		storage st(t, full_path.branch_path());		t.add_tracker(argv[2]);		// calculate the hash for all pieces		int num = t.num_pieces();		std::vector<char> buf(piece_size);		for (int i = 0; i < num; ++i)		{			st.read(&buf[0], i, 0, t.piece_size(i));			hasher h(&buf[0], t.piece_size(i));			t.set_hash(i, h.final());			std::cerr << (i+1) << "/" << num << "\r";		}		t.set_creator(creator_str);		// create the torrent and print it to out		entry e = t.create_torrent();		libtorrent::bencode(std::ostream_iterator<char>(out), e);	}	catch (std::exception& e)	{		std::cerr << e.what() << "\n";	}	return 0;}