mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
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.
This commit is contained in:
parent
599dda9ae9
commit
e7e5cf0f89
7 changed files with 17 additions and 18 deletions
|
@ -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 )
|
||||
|
|
|
@ -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 )
|
||||
|
|
|
@ -296,7 +296,7 @@ int BroFunc::IsPure() const
|
|||
|
||||
IntrusivePtr<Val> 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<Val> BroFunc::Call(const zeek::Args& args, Frame* parent) const
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -17,11 +17,10 @@ using Args = std::vector<IntrusivePtr<Val>>;
|
|||
* 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
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue