json: macros for setting formatted true and string values

JB_SET_TRUE(jb, key), and JB_SET_STRING(string, key, val) are C macros
around jb_set_formatted to set static string and true values as a
(micro) optimization.
pull/5059/head
Jason Ish 6 years ago committed by Victor Julien
parent a545cdef6a
commit 74053f43cb

@ -218,13 +218,13 @@ JsonBuilder *JsonBuildFileInfoRecord(const Packet *p, const File *ff,
#endif
break;
case FILE_STATE_TRUNCATED:
jb_set_string(js, "state", "TRUNCATED");
JB_SET_STRING(js, "state", "TRUNCATED");
break;
case FILE_STATE_ERROR:
jb_set_string(js, "state", "ERROR");
JB_SET_STRING(js, "state", "ERROR");
break;
default:
jb_set_string(js, "state", "UNKNOWN");
JB_SET_STRING(js, "state", "UNKNOWN");
break;
}

@ -239,7 +239,7 @@ static void EveFlowLogJSON(JsonFlowLogThread *aft, JsonBuilder *jb, Flow *f)
jb_set_uint(jb, "age", age);
if (f->flow_end_flags & FLOW_END_FLAG_EMERGENCY)
jb_set_bool(jb, "emergency", true);
JB_SET_TRUE(jb, "emergency");
const char *state = NULL;
if (f->flow_end_flags & FLOW_END_FLAG_STATE_NEW)
state = "new";
@ -280,7 +280,7 @@ static void EveFlowLogJSON(JsonFlowLogThread *aft, JsonBuilder *jb, Flow *f)
jb_set_bool(jb, "alerted", FlowHasAlerts(f));
if (f->flags & FLOW_WRONG_THREAD)
jb_set_bool(jb, "wrong_thread", true);
JB_SET_TRUE(jb, "wrong_thread");
/* Close flow. */
jb_close(jb);
@ -350,9 +350,9 @@ static void EveFlowLogJSON(JsonFlowLogThread *aft, JsonBuilder *jb, Flow *f)
}
jb_set_string(jb, "state", tcp_state);
if (ssn->client.flags & STREAMTCP_STREAM_FLAG_GAP)
jb_set_bool(jb, "gap_ts", true);
JB_SET_TRUE(jb, "gap_ts");
if (ssn->server.flags & STREAMTCP_STREAM_FLAG_GAP)
jb_set_bool(jb, "gap_tc", true);
JB_SET_TRUE(jb, "gap_tc");
}
/* Close tcp. */

@ -700,21 +700,21 @@ void JsonTcpFlags(uint8_t flags, json_t *js)
void EveTcpFlags(const uint8_t flags, JsonBuilder *js)
{
if (flags & TH_SYN)
jb_set_bool(js, "syn", true);
JB_SET_TRUE(js, "syn");
if (flags & TH_FIN)
jb_set_bool(js, "fin", true);
JB_SET_TRUE(js, "fin");
if (flags & TH_RST)
jb_set_bool(js, "rst", true);
JB_SET_TRUE(js, "rst");
if (flags & TH_PUSH)
jb_set_bool(js, "psh", true);
JB_SET_TRUE(js, "psh");
if (flags & TH_ACK)
jb_set_bool(js, "ack", true);
JB_SET_TRUE(js, "ack");
if (flags & TH_URG)
jb_set_bool(js, "urg", true);
JB_SET_TRUE(js, "urg");
if (flags & TH_ECN)
jb_set_bool(js, "ecn", true);
JB_SET_TRUE(js, "ecn");
if (flags & TH_CWR)
jb_set_bool(js, "cwr", true);
JB_SET_TRUE(js, "cwr");
}
void JsonAddrInfoInit(const Packet *p, enum OutputJsonLogDirection dir, JsonAddrInfo *addr)

@ -21,4 +21,7 @@
#include "rust-context.h"
#include "rust-bindings.h"
#define JB_SET_STRING(jb, key, val) jb_set_formatted((jb), "\"" key "\":\"" val "\"")
#define JB_SET_TRUE(jb, key) jb_set_formatted((jb), "\"" key "\":true")
#endif /* !__RUST_H__ */

Loading…
Cancel
Save