From e7e5cf0f897679e4a858e69e9338dd765caf2a41 Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Thu, 26 Mar 2020 11:29:29 -0700 Subject: [PATCH] Use const-ref parameter for zeek::val_list_to_args() It ended up being used a bit more than initially expected and this is closer to the style we're generally aiming for. --- src/Conn.cc | 6 +++--- src/Event.cc | 6 +++--- src/Func.cc | 2 +- src/ZeekArgs.cc | 6 +++--- src/ZeekArgs.h | 5 ++--- src/analyzer/Analyzer.cc | 6 +++--- src/file_analysis/File.cc | 4 ++-- 7 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/Conn.cc b/src/Conn.cc index 64d32a7f5c..b7c80118be 100644 --- a/src/Conn.cc +++ b/src/Conn.cc @@ -488,7 +488,7 @@ void Connection::Event(EventHandlerPtr f, analyzer::Analyzer* analyzer, Val* v1, void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_list vl) { - auto args = zeek::val_list_to_args(&vl); + auto args = zeek::val_list_to_args(vl); if ( ! f ) // This may actually happen if there is no local handler @@ -502,13 +502,13 @@ void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_l void Connection::ConnectionEventFast(EventHandlerPtr f, analyzer::Analyzer* a, val_list vl) { // "this" is passed as a cookie for the event - mgr.Enqueue(f, zeek::val_list_to_args(&vl), SOURCE_LOCAL, + mgr.Enqueue(f, zeek::val_list_to_args(vl), SOURCE_LOCAL, a ? a->GetID() : 0, this); } void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_list* vl) { - auto args = zeek::val_list_to_args(vl); + auto args = zeek::val_list_to_args(*vl); delete vl; if ( f ) diff --git a/src/Event.cc b/src/Event.cc index 6ad75d0325..96f35f6a91 100644 --- a/src/Event.cc +++ b/src/Event.cc @@ -99,14 +99,14 @@ void EventMgr::QueueEventFast(const EventHandlerPtr &h, val_list vl, SourceID src, analyzer::ID aid, TimerMgr* mgr, BroObj* obj) { - QueueEvent(new Event(h, zeek::val_list_to_args(&vl), src, aid, obj)); + QueueEvent(new Event(h, zeek::val_list_to_args(vl), src, aid, obj)); } void EventMgr::QueueEvent(const EventHandlerPtr &h, val_list vl, SourceID src, analyzer::ID aid, TimerMgr* mgr, BroObj* obj) { - auto args = zeek::val_list_to_args(&vl); + auto args = zeek::val_list_to_args(vl); if ( h ) Enqueue(h, std::move(args), src, aid, obj); @@ -116,7 +116,7 @@ void EventMgr::QueueEvent(const EventHandlerPtr &h, val_list* vl, SourceID src, analyzer::ID aid, TimerMgr* mgr, BroObj* obj) { - auto args = zeek::val_list_to_args(vl); + auto args = zeek::val_list_to_args(*vl); delete vl; if ( h ) diff --git a/src/Func.cc b/src/Func.cc index 0f4b9ca376..58a39922a3 100644 --- a/src/Func.cc +++ b/src/Func.cc @@ -296,7 +296,7 @@ int BroFunc::IsPure() const IntrusivePtr Func::Call(val_list* args, Frame* parent) const { - return Call(zeek::val_list_to_args(args), parent); + return Call(zeek::val_list_to_args(*args), parent); } IntrusivePtr BroFunc::Call(const zeek::Args& args, Frame* parent) const diff --git a/src/ZeekArgs.cc b/src/ZeekArgs.cc index 810da7f1dc..e9c4b36412 100644 --- a/src/ZeekArgs.cc +++ b/src/ZeekArgs.cc @@ -2,12 +2,12 @@ #include "IntrusivePtr.h" #include "Val.h" -zeek::Args zeek::val_list_to_args(const val_list* vl) +zeek::Args zeek::val_list_to_args(const val_list& vl) { zeek::Args rval; - rval.reserve(vl->length()); + rval.reserve(vl.length()); - for ( auto& v : *vl ) + for ( auto& v : vl ) rval.emplace_back(AdoptRef{}, v); return rval; diff --git a/src/ZeekArgs.h b/src/ZeekArgs.h index a18d186863..fbde15965c 100644 --- a/src/ZeekArgs.h +++ b/src/ZeekArgs.h @@ -17,11 +17,10 @@ using Args = std::vector>; * Converts a legacy-style argument list for use in modern Zeek function * calling or event queueing APIs. * @param vl the argument list to convert, the returned value takes ownership - * of a reference to each element in the list, but not ownership of the list - * itself. + * of a reference to each element in the list * @return the converted argument list * */ -Args val_list_to_args(const val_list* vl); +Args val_list_to_args(const val_list& vl); } // namespace zeek diff --git a/src/analyzer/Analyzer.cc b/src/analyzer/Analyzer.cc index 41a98273e2..e651b58239 100644 --- a/src/analyzer/Analyzer.cc +++ b/src/analyzer/Analyzer.cc @@ -803,7 +803,7 @@ void Analyzer::Event(EventHandlerPtr f, Val* v1, Val* v2) void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list* vl) { - auto args = zeek::val_list_to_args(vl); + auto args = zeek::val_list_to_args(*vl); if ( f ) conn->EnqueueEvent(f, this, std::move(args)); @@ -811,7 +811,7 @@ void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list* vl) void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list vl) { - auto args = zeek::val_list_to_args(&vl); + auto args = zeek::val_list_to_args(vl); if ( f ) conn->EnqueueEvent(f, this, std::move(args)); @@ -819,7 +819,7 @@ void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list vl) void Analyzer::ConnectionEventFast(EventHandlerPtr f, val_list vl) { - auto args = zeek::val_list_to_args(&vl); + auto args = zeek::val_list_to_args(vl); conn->EnqueueEvent(f, this, std::move(args)); } diff --git a/src/file_analysis/File.cc b/src/file_analysis/File.cc index 5d7711d16c..9ea5d3370b 100644 --- a/src/file_analysis/File.cc +++ b/src/file_analysis/File.cc @@ -626,13 +626,13 @@ void File::FileEvent(EventHandlerPtr h) void File::FileEvent(EventHandlerPtr h, val_list* vl) { - FileEvent(h, zeek::val_list_to_args(vl)); + FileEvent(h, zeek::val_list_to_args(*vl)); delete vl; } void File::FileEvent(EventHandlerPtr h, val_list vl) { - FileEvent(h, zeek::val_list_to_args(&vl)); + FileEvent(h, zeek::val_list_to_args(vl)); } void File::FileEvent(EventHandlerPtr h, zeek::Args args)