1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 16:37:47 +00:00

AK: Add String::copy(BufferType) helper.

This will create a String from any BufferType that has data() and size().
This commit is contained in:
Andreas Kling 2019-04-20 14:13:40 +02:00
parent 5eedb22834
commit ab94a6be00
11 changed files with 31 additions and 27 deletions

View file

@ -150,10 +150,10 @@ void IRCClient::process_line(ByteBuffer&& line)
}
}
if (!current_parameter.is_empty())
msg.arguments.append(String(current_parameter.data(), current_parameter.size()));
msg.prefix = String(prefix.data(), prefix.size());
msg.command = String(command.data(), command.size());
handle(msg, String(m_line_buffer.data(), m_line_buffer.size()));
msg.arguments.append(String::copy(current_parameter));
msg.prefix = String::copy(prefix);
msg.command = String::copy(command);
handle(msg);
}
void IRCClient::send(const String& text)
@ -195,7 +195,7 @@ void IRCClient::send_whois(const String& nick)
send(String::format("WHOIS %s\r\n", nick.characters()));
}
void IRCClient::handle(const Message& msg, const String&)
void IRCClient::handle(const Message& msg)
{
#ifdef IRC_DEBUG
printf("IRCClient::execute: prefix='%s', command='%s', arguments=%d\n",

View file

@ -106,7 +106,7 @@ private:
void handle_rpl_namreply(const Message&);
void handle_privmsg(const Message&);
void handle_nick(const Message&);
void handle(const Message&, const String& verbatim);
void handle(const Message&);
void handle_user_command(const String&);
void on_socket_connected();
@ -117,7 +117,6 @@ private:
CTCPSocket* m_socket { nullptr };
String m_nickname;
Vector<char> m_line_buffer;
OwnPtr<CNotifier> m_notifier;
HashMap<String, RetainPtr<IRCChannel>> m_channels;
HashMap<String, RetainPtr<IRCQuery>> m_queries;

View file

@ -393,13 +393,13 @@ void Terminal::execute_xterm_command()
{
m_final = '@';
bool ok;
unsigned value = parse_uint(String((const char*)m_xterm_param1.data(), m_xterm_param1.size()), ok);
unsigned value = parse_uint(String::copy(m_xterm_param1), ok);
if (ok) {
switch (value) {
case 0:
case 1:
case 2:
set_window_title(String((const char*)m_xterm_param2.data(), m_xterm_param2.size()));
set_window_title(String::copy(m_xterm_param2));
break;
default:
unimplemented_xterm_escape();
@ -413,7 +413,7 @@ void Terminal::execute_xterm_command()
void Terminal::execute_escape_sequence(byte final)
{
m_final = final;
auto paramparts = String((const char*)m_parameters.data(), m_parameters.size()).split(';');
auto paramparts = String::copy(m_parameters).split(';');
ParamVector params;
for (auto& parampart : paramparts) {
bool ok;

View file

@ -41,7 +41,7 @@ int main(int argc, char** argv)
fprintf(stderr, "Opening %s: %s\n", path.characters(), file.error_string());
return 1;
}
text_editor->set_text(String::from_byte_buffer(file.read_all()));
text_editor->set_text(String::copy(file.read_all()));
}
auto new_action = GAction::create("New document", { Mod_Ctrl, Key_N }, GraphicsBitmap::load_from_file("/res/icons/16x16/new.png"), [] (const GAction&) {