diff --git a/src/Val.cc b/src/Val.cc index 32d64c5cdd..08de37121c 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -713,6 +713,12 @@ StringVal::StringVal(const string& s) : Val(TYPE_STRING) val.string_val = new BroString(reinterpret_cast(s.data()), s.length(), 1); } +string StringVal::ToStdString() const + { + auto* bs = AsString(); + return string((char*)bs->Bytes(), bs->Len()); + } + StringVal* StringVal::ToUpper() { val.string_val->ToUpper(); diff --git a/src/Val.h b/src/Val.h index 2ce61100b5..8e909f1a0c 100644 --- a/src/Val.h +++ b/src/Val.h @@ -632,6 +632,7 @@ public: // char* ExpandedString(int format = BroString::EXPANDED_STRING) // { return AsString()->ExpandedString(format); } + std::string ToStdString() const; StringVal* ToUpper(); unsigned int MemoryAllocation() const override;