mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-16 15:12:30 +00:00
* Renamed TrackerInfo to DownloadInfo, moved it to DownloadMain and
cleaned up DownloadWrapper etc. * Resume total upload from the client rather than torrent::Download::hash_resume_load(...). * Show client names and versions. (incomplete) git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@646 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -74,6 +74,103 @@ char* print_entry_file(char* first, char* last, const torrent::Entry& entr
|
||||
char* print_status_info(char* first, char* last);
|
||||
char* print_status_extra(char* first, char* last, Control* c);
|
||||
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
template <typename Arg1>
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format, const Arg1& arg1) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format, arg1);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
template <typename Arg1, typename Arg2>
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format, const Arg1& arg1, const Arg2& arg2) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format, arg1, arg2);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
template <typename Arg1, typename Arg2, typename Arg3>
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format, const Arg1& arg1, const Arg2& arg2, const Arg3& arg3) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format, arg1, arg2, arg3);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
template <typename Arg1, typename Arg2, typename Arg3, typename Arg4>
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format, const Arg1& arg1, const Arg2& arg2, const Arg3& arg3, const Arg4& arg4) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format, arg1, arg2, arg3, arg4);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5>
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format, const Arg1& arg1, const Arg2& arg2, const Arg3& arg3, const Arg4& arg4, const Arg5& arg5) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format, arg1, arg2, arg3, arg4, arg5);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
template <typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6>
|
||||
inline char*
|
||||
print_buffer(char* first, char* last, const char* format, const Arg1& arg1, const Arg2& arg2, const Arg3& arg3, const Arg4& arg4, const Arg5& arg5, const Arg6& arg6) {
|
||||
if (first >= last)
|
||||
return first;
|
||||
|
||||
int s = snprintf(first, last - first, format, arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
|
||||
if (s < 0)
|
||||
return first;
|
||||
else
|
||||
return std::min(first + s, last);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user