fix bug in DHT logging. clean up some whitespace

This commit is contained in:
Arvid Norberg 2015-05-17 02:00:43 +00:00
parent 58ae099cf8
commit c871610408
2 changed files with 60 additions and 55 deletions

View File

@ -1734,7 +1734,7 @@ namespace libtorrent {
}; };
char ret[900]; char ret[900];
snprintf(ret, sizeof(ret), "%s: %s", dht_modules[module] snprintf(ret, sizeof(ret), "DHT %s: %s", dht_modules[module]
, log_message()); , log_message());
return ret; return ret;
} }

View File

@ -6494,7 +6494,7 @@ retry:
char buf[1024]; char buf[1024];
int offset = 0; int offset = 0;
char const* prefix[] = char const* prefix[] =
{ "<== ", "<== ERROR ", "==> ", "==> ERROR " }; { "<== ", "==> ", "<== ERROR ", "==> ERROR " };
offset += snprintf(&buf[offset], sizeof(buf) - offset, prefix[dir]); offset += snprintf(&buf[offset], sizeof(buf) - offset, prefix[dir]);
va_list v; va_list v;
@ -6504,10 +6504,15 @@ retry:
bdecode_node print; bdecode_node print;
error_code ec; error_code ec;
int ret = bdecode(buf, buf + len, print, ec, NULL, 100, 100); int ret = bdecode(pkt, pkt + len, print, ec, NULL, 100, 100);
// TODO: 3 there should be a separate dht_log_alert for messages that
// contains the raw packet separately. This printing should be moved
// down to the ::message() function of that alert
std::string msg = print_entry(print, true); std::string msg = print_entry(print, true);
if (offset < sizeof(buf)) buf[offset++] = ' ';
strncpy(&buf[offset], msg.c_str(), sizeof(buf) - offset); strncpy(&buf[offset], msg.c_str(), sizeof(buf) - offset);
m_alerts.emplace_alert<dht_log_alert>(dht_log_alert::tracker, buf); m_alerts.emplace_alert<dht_log_alert>(dht_log_alert::tracker, buf);