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)
|
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 )
|
if ( ! f )
|
||||||
// This may actually happen if there is no local handler
|
// 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)
|
void Connection::ConnectionEventFast(EventHandlerPtr f, analyzer::Analyzer* a, val_list vl)
|
||||||
{
|
{
|
||||||
// "this" is passed as a cookie for the event
|
// "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);
|
a ? a->GetID() : 0, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_list* vl)
|
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;
|
delete vl;
|
||||||
|
|
||||||
if ( f )
|
if ( f )
|
||||||
|
|
|
@ -99,14 +99,14 @@ void EventMgr::QueueEventFast(const EventHandlerPtr &h, val_list vl,
|
||||||
SourceID src, analyzer::ID aid, TimerMgr* mgr,
|
SourceID src, analyzer::ID aid, TimerMgr* mgr,
|
||||||
BroObj* obj)
|
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,
|
void EventMgr::QueueEvent(const EventHandlerPtr &h, val_list vl,
|
||||||
SourceID src, analyzer::ID aid,
|
SourceID src, analyzer::ID aid,
|
||||||
TimerMgr* mgr, BroObj* obj)
|
TimerMgr* mgr, BroObj* obj)
|
||||||
{
|
{
|
||||||
auto args = zeek::val_list_to_args(&vl);
|
auto args = zeek::val_list_to_args(vl);
|
||||||
|
|
||||||
if ( h )
|
if ( h )
|
||||||
Enqueue(h, std::move(args), src, aid, obj);
|
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,
|
SourceID src, analyzer::ID aid,
|
||||||
TimerMgr* mgr, BroObj* obj)
|
TimerMgr* mgr, BroObj* obj)
|
||||||
{
|
{
|
||||||
auto args = zeek::val_list_to_args(vl);
|
auto args = zeek::val_list_to_args(*vl);
|
||||||
delete vl;
|
delete vl;
|
||||||
|
|
||||||
if ( h )
|
if ( h )
|
||||||
|
|
|
@ -296,7 +296,7 @@ int BroFunc::IsPure() const
|
||||||
|
|
||||||
IntrusivePtr<Val> Func::Call(val_list* args, Frame* parent) 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
|
IntrusivePtr<Val> BroFunc::Call(const zeek::Args& args, Frame* parent) const
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
#include "IntrusivePtr.h"
|
#include "IntrusivePtr.h"
|
||||||
#include "Val.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;
|
zeek::Args rval;
|
||||||
rval.reserve(vl->length());
|
rval.reserve(vl.length());
|
||||||
|
|
||||||
for ( auto& v : *vl )
|
for ( auto& v : vl )
|
||||||
rval.emplace_back(AdoptRef{}, v);
|
rval.emplace_back(AdoptRef{}, v);
|
||||||
|
|
||||||
return rval;
|
return rval;
|
||||||
|
|
|
@ -17,11 +17,10 @@ using Args = std::vector<IntrusivePtr<Val>>;
|
||||||
* Converts a legacy-style argument list for use in modern Zeek function
|
* Converts a legacy-style argument list for use in modern Zeek function
|
||||||
* calling or event queueing APIs.
|
* calling or event queueing APIs.
|
||||||
* @param vl the argument list to convert, the returned value takes ownership
|
* @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
|
* of a reference to each element in the list
|
||||||
* itself.
|
|
||||||
* @return the converted argument 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
|
} // namespace zeek
|
||||||
|
|
|
@ -803,7 +803,7 @@ void Analyzer::Event(EventHandlerPtr f, Val* v1, Val* v2)
|
||||||
|
|
||||||
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 )
|
if ( f )
|
||||||
conn->EnqueueEvent(f, this, std::move(args));
|
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)
|
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 )
|
if ( f )
|
||||||
conn->EnqueueEvent(f, this, std::move(args));
|
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)
|
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));
|
conn->EnqueueEvent(f, this, std::move(args));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -626,13 +626,13 @@ void File::FileEvent(EventHandlerPtr h)
|
||||||
|
|
||||||
void File::FileEvent(EventHandlerPtr h, val_list* 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));
|
||||||
delete vl;
|
delete vl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void File::FileEvent(EventHandlerPtr h, val_list 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)
|
void File::FileEvent(EventHandlerPtr h, zeek::Args args)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue