mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Fix GCC builds and string output for Broker errors
This commit is contained in:
parent
56f30b500a
commit
da2a5ef455
3 changed files with 54 additions and 2 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit ce321c0a90f1d4176796c996fd27fe69ea520316
|
Subproject commit 0b2691392f335d409781257f210c7b1681530c59
|
|
@ -28,6 +28,57 @@
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
void print_escaped(std::string& buf, std::string_view str)
|
||||||
|
{
|
||||||
|
buf.push_back('"');
|
||||||
|
for ( auto c : str )
|
||||||
|
{
|
||||||
|
switch ( c )
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
buf.push_back(c);
|
||||||
|
break;
|
||||||
|
case '\\':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('\\');
|
||||||
|
break;
|
||||||
|
case '\b':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('b');
|
||||||
|
break;
|
||||||
|
case '\f':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('f');
|
||||||
|
break;
|
||||||
|
case '\n':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('n');
|
||||||
|
break;
|
||||||
|
case '\r':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('r');
|
||||||
|
break;
|
||||||
|
case '\t':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('t');
|
||||||
|
break;
|
||||||
|
case '\v':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('v');
|
||||||
|
break;
|
||||||
|
case '"':
|
||||||
|
buf.push_back('\\');
|
||||||
|
buf.push_back('"');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
buf.push_back('"');
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
namespace zeek::Broker
|
namespace zeek::Broker
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1658,7 +1709,7 @@ void Manager::ProcessError(broker::error_view err)
|
||||||
msg += broker::to_string(ctx->network);
|
msg += broker::to_string(ctx->network);
|
||||||
msg += ", ";
|
msg += ", ";
|
||||||
if ( auto what = err.message() )
|
if ( auto what = err.message() )
|
||||||
msg += *what;
|
print_escaped(msg, *what);
|
||||||
else
|
else
|
||||||
msg += R"_("")_";
|
msg += R"_("")_";
|
||||||
msg += ')';
|
msg += ')';
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include <broker/data.hh>
|
#include <broker/data.hh>
|
||||||
#include <openssl/sha.h>
|
#include <openssl/sha.h>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
#include <cstring>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#include "zeek/digest.h"
|
#include "zeek/digest.h"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue