mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
String/StringVal: Replace char*/string constructors with string_view
This commit is contained in:
parent
16ee942a8d
commit
4f470c24ed
4 changed files with 10 additions and 30 deletions
|
@ -939,9 +939,7 @@ StringVal::StringVal(int length, const char* s)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
StringVal::StringVal(const char* s) : StringVal(new String(s)) { }
|
StringVal::StringVal(std::string_view s) : StringVal(s.length(), s.data()) { }
|
||||||
|
|
||||||
StringVal::StringVal(const string& s) : StringVal(s.length(), s.data()) { }
|
|
||||||
|
|
||||||
StringVal::~StringVal()
|
StringVal::~StringVal()
|
||||||
{
|
{
|
||||||
|
|
|
@ -527,8 +527,7 @@ class StringVal final : public Val
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit StringVal(String* s);
|
explicit StringVal(String* s);
|
||||||
explicit StringVal(const char* s);
|
StringVal(std::string_view s);
|
||||||
explicit StringVal(const std::string& s);
|
|
||||||
StringVal(int length, const char* s);
|
StringVal(int length, const char* s);
|
||||||
~StringVal() override;
|
~StringVal() override;
|
||||||
|
|
||||||
|
|
|
@ -47,12 +47,7 @@ String::String(const u_char* str, int arg_n, bool add_NUL) : String()
|
||||||
Set(str, arg_n, add_NUL);
|
Set(str, arg_n, add_NUL);
|
||||||
}
|
}
|
||||||
|
|
||||||
String::String(const char* str) : String()
|
String::String(std::string_view str) : String()
|
||||||
{
|
|
||||||
Set(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
String::String(const std::string& str) : String()
|
|
||||||
{
|
{
|
||||||
Set(str);
|
Set(str);
|
||||||
}
|
}
|
||||||
|
@ -147,31 +142,21 @@ void String::Set(const u_char* str, int len, bool add_NUL)
|
||||||
use_free_to_delete = false;
|
use_free_to_delete = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void String::Set(const char* str)
|
void String::Set(std::string_view str)
|
||||||
{
|
{
|
||||||
Reset();
|
Reset();
|
||||||
|
|
||||||
if ( str )
|
if ( str.data() )
|
||||||
{
|
{
|
||||||
n = strlen(str);
|
n = str.size();
|
||||||
b = new u_char[n + 1];
|
b = new u_char[n + 1];
|
||||||
memcpy(b, str, n + 1);
|
memcpy(b, str.data(), n);
|
||||||
|
b[n] = 0;
|
||||||
final_NUL = true;
|
final_NUL = true;
|
||||||
use_free_to_delete = false;
|
use_free_to_delete = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void String::Set(const std::string& str)
|
|
||||||
{
|
|
||||||
Reset();
|
|
||||||
|
|
||||||
n = str.size();
|
|
||||||
b = new u_char[n + 1];
|
|
||||||
memcpy(b, str.c_str(), n + 1);
|
|
||||||
final_NUL = true;
|
|
||||||
use_free_to_delete = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void String::Set(const String& str)
|
void String::Set(const String& str)
|
||||||
{
|
{
|
||||||
*this = str;
|
*this = str;
|
||||||
|
|
|
@ -43,8 +43,7 @@ public:
|
||||||
|
|
||||||
// Constructors creating internal copies of the data passed in.
|
// Constructors creating internal copies of the data passed in.
|
||||||
String(const u_char* str, int arg_n, bool add_NUL);
|
String(const u_char* str, int arg_n, bool add_NUL);
|
||||||
explicit String(const char* str);
|
String(std::string_view str);
|
||||||
explicit String(const std::string& str);
|
|
||||||
String(const String& bs);
|
String(const String& bs);
|
||||||
|
|
||||||
// Constructor that takes owernship of the vector passed in.
|
// Constructor that takes owernship of the vector passed in.
|
||||||
|
@ -72,8 +71,7 @@ public:
|
||||||
// contents to a copy of the string given by the arguments.
|
// contents to a copy of the string given by the arguments.
|
||||||
//
|
//
|
||||||
void Set(const u_char* str, int len, bool add_NUL = true);
|
void Set(const u_char* str, int len, bool add_NUL = true);
|
||||||
void Set(const char* str);
|
void Set(std::string_view str);
|
||||||
void Set(const std::string& str);
|
|
||||||
void Set(const String& str);
|
void Set(const String& str);
|
||||||
|
|
||||||
void SetUseFreeToDelete(int use_it) { use_free_to_delete = use_it; }
|
void SetUseFreeToDelete(int use_it) { use_free_to_delete = use_it; }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue