mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 22:58:20 +00:00
specialized ZAM operators for speeding up cat() operations
This commit is contained in:
parent
5fe4eb27a8
commit
048e524fbf
10 changed files with 619 additions and 2 deletions
|
@ -72,6 +72,20 @@ StringVal* ZAM_sub_bytes(const StringVal* s, zeek_uint_t start, zeek_int_t n)
|
|||
return new StringVal(ss ? ss : new String(""));
|
||||
}
|
||||
|
||||
StringValPtr ZAM_val_cat(const ValPtr& v)
|
||||
{
|
||||
// Quite similar to cat(), but for only one value.
|
||||
zeek::ODesc d;
|
||||
d.SetStyle(RAW_STYLE);
|
||||
|
||||
v->Describe(&d);
|
||||
|
||||
String* s = new String(1, d.TakeBytes(), d.Len());
|
||||
s->SetUseFreeToDelete(true);
|
||||
|
||||
return make_intrusive<StringVal>(s);
|
||||
}
|
||||
|
||||
void ZAM_run_time_error(const char* msg)
|
||||
{
|
||||
fprintf(stderr, "%s\n", msg);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue