1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
From e58f3975f128f68638843a11b40a239350bf88f4 Mon Sep 17 00:00:00 2001
From: Jari Sundell <sundell.software@gmail.com>
Date: Thu, 29 Dec 2011 18:58:12 +0900
Subject: [PATCH] Fixed compiler issues with clang.
---
src/command_download.cc | 9 ++++-----
src/command_dynamic.cc | 6 +++---
src/command_helpers.h | 11 +++++++++--
src/display/window_file_list.cc | 2 +-
src/thread_base.h | 4 +---
5 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/src/command_download.cc b/src/command_download.cc
index 30abb4d..bc58b9a 100644
--- a/src/command_download.cc
+++ b/src/command_download.cc
@@ -138,10 +138,9 @@ apply_d_change_link(core::Download* download, const torrent::Object::list_type&
switch (changeType) {
case 0:
- if (symlink(target.c_str(), link.c_str()) == -1)
+ // if (symlink(target.c_str(), link.c_str()) == -1)
// control->core()->push_log("create_link failed: " + std::string(rak::error_number::current().c_str()));
// control->core()->push_log("create_link failed: " + std::string(rak::error_number::current().c_str()) + " to " + target);
- ; // Disabled.
break;
case 1:
@@ -150,9 +149,9 @@ apply_d_change_link(core::Download* download, const torrent::Object::list_type&
rak::error_number::clear_global();
if (!fileStat.update_link(link) || !fileStat.is_link() ||
- unlink(link.c_str()) == -1)
- ; // control->core()->push_log("delete_link failed: " + std::string(rak::error_number::current().c_str()));
-
+ unlink(link.c_str()) == -1) {
+ // control->core()->push_log("delete_link failed: " + std::string(rak::error_number::current().c_str()));
+ }
break;
}
default:
diff --git a/src/command_dynamic.cc b/src/command_dynamic.cc
index 6e83454..013f855 100644
--- a/src/command_dynamic.cc
+++ b/src/command_dynamic.cc
@@ -156,7 +156,7 @@ system_method_insert_object(const torrent::Object::list_type& args, int flags) {
(flags & rpc::object_storage::mask_type) == rpc::object_storage::flag_multi_type) {
rpc::commands.insert_slot<rpc::command_base_is_type<rpc::command_base_call<rpc::target_type> >::type>
- (create_new_key<0>(rawKey, ""),
+ (create_new_key(rawKey),
std::bind(&rpc::object_storage::call_function_str, control->object_storage(),
rawKey, std::placeholders::_1, std::placeholders::_2),
&rpc::command_base_call<rpc::target_type>,
@@ -164,7 +164,7 @@ system_method_insert_object(const torrent::Object::list_type& args, int flags) {
} else {
rpc::commands.insert_slot<rpc::command_base_is_type<rpc::command_base_call<rpc::target_type> >::type>
- (create_new_key<0>(rawKey, ""),
+ (create_new_key(rawKey),
std::bind(&rpc::object_storage::get_str, control->object_storage(), rawKey),
&rpc::command_base_call<rpc::target_type>,
cmd_flags, NULL, NULL);
@@ -354,7 +354,7 @@ system_method_redirect(const torrent::Object::list_type& args) {
std::string new_key = torrent::object_create_string(args.front());
std::string dest_key = torrent::object_create_string(args.back());
- rpc::commands.create_redirect(create_new_key<0>(new_key, ""), create_new_key<0>(dest_key, ""),
+ rpc::commands.create_redirect(create_new_key(new_key), create_new_key(dest_key),
rpc::CommandMap::flag_public_xmlrpc | rpc::CommandMap::flag_delete_key | rpc::CommandMap::flag_modifiable);
return torrent::Object();
diff --git a/src/command_helpers.h b/src/command_helpers.h
index 8b290ce..b215ec2 100644
--- a/src/command_helpers.h
+++ b/src/command_helpers.h
@@ -152,11 +152,11 @@ void initialize_commands();
rpc::commands.create_redirect(from_key, to_key, rpc::CommandMap::flag_public_xmlrpc | rpc::CommandMap::flag_tracker_target | rpc::CommandMap::flag_dont_delete);
#define CMD2_REDIRECT_GENERIC_STR(from_key, to_key) \
- rpc::commands.create_redirect(create_new_key<0>(from_key, ""), create_new_key<0>(to_key, ""), \
+ rpc::commands.create_redirect(create_new_key(from_key), create_new_key(to_key), \
rpc::CommandMap::flag_public_xmlrpc | rpc::CommandMap::flag_no_target | rpc::CommandMap::flag_delete_key);
#define CMD2_REDIRECT_GENERIC_STR_NO_EXPORT(from_key, to_key) \
- rpc::commands.create_redirect(create_new_key<0>(from_key, ""), create_new_key<0>(to_key, ""), \
+ rpc::commands.create_redirect(create_new_key(from_key), create_new_key(to_key), \
rpc::CommandMap::flag_no_target | rpc::CommandMap::flag_delete_key);
//
@@ -205,4 +205,11 @@ create_new_key(const std::string& key, const char postfix[postfix_size]) {
return buffer;
}
+inline const char*
+create_new_key(const std::string& key) {
+ char *buffer = new char[key.size() + 1];
+ std::memcpy(buffer, key.c_str(), key.size() + 1);
+ return buffer;
+}
+
#endif
diff --git a/src/display/window_file_list.cc b/src/display/window_file_list.cc
index 6a923dc..7c9f692 100644
--- a/src/display/window_file_list.cc
+++ b/src/display/window_file_list.cc
@@ -123,7 +123,7 @@ WindowFileList::redraw() {
if (fl->size_files() == 0 || m_canvas->height() < 2)
return;
- iterator entries[m_canvas->height() - 1];
+ std::vector<iterator> entries(m_canvas->height() - 1);
unsigned int last = 0;
diff --git a/src/thread_base.h b/src/thread_base.h
index 4cd38de..479e3cd 100644
--- a/src/thread_base.h
+++ b/src/thread_base.h
@@ -44,11 +44,9 @@
#include "rak/priority_queue_default.h"
#include "core/poll_manager.h"
-struct thread_queue_hack;
-
// Move this class to libtorrent.
-struct thread_queue_hack;
+class thread_queue_hack;
class ThreadBase : public torrent::thread_base {
public:
--
1.7.3.4
|