/*
-Minetest-c55
-Copyright (C) 2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
#include "chat.h"
#include "debug.h"
-#include <cassert>
+#include "strfnd.h"
#include <cctype>
#include <sstream>
#include "util/string.h"
--count;
}
- m_unformatted.erase(0, del_unformatted);
- m_formatted.erase(0, del_formatted);
+ m_unformatted.erase(m_unformatted.begin(), m_unformatted.begin() + del_unformatted);
+ m_formatted.erase(m_formatted.begin(), m_formatted.begin() + del_formatted);
}
void ChatBuffer::deleteByAge(f32 maxAge)
}
u32 ChatBuffer::formatChatLine(const ChatLine& line, u32 cols,
- core::array<ChatFormattedLine>& destination) const
+ std::vector<ChatFormattedLine>& destination) const
{
u32 num_added = 0;
- core::array<ChatFormattedFragment> next_frags;
+ std::vector<ChatFormattedFragment> next_frags;
ChatFormattedLine next_line;
ChatFormattedFragment temp_frag;
u32 out_column = 0;
frag.column = out_column;
next_line.fragments.push_back(frag);
out_column += frag.text.size();
- next_frags.erase(0, 1);
+ next_frags.erase(next_frags.begin());
}
else
{
if (!line.empty())
m_history.push_back(line);
if (m_history.size() > m_history_limit)
- m_history.erase(0);
+ m_history.erase(m_history.begin());
m_history_index = m_history.size();
m_view = 0;
m_cursor = 0;
}
}
-void ChatPrompt::nickCompletion(const core::list<std::wstring>& names, bool backwards)
+void ChatPrompt::nickCompletion(const std::list<std::string>& names, bool backwards)
{
// Two cases:
// (a) m_nick_completion_start == m_nick_completion_end == 0
std::wstring prefix = m_line.substr(prefix_start, prefix_end - prefix_start);
// find all names that start with the selected prefix
- core::array<std::wstring> completions;
- for (core::list<std::wstring>::ConstIterator
+ std::vector<std::wstring> completions;
+ for (std::list<std::string>::const_iterator
i = names.begin();
- i != names.end(); i++)
+ i != names.end(); ++i)
{
- if (str_starts_with(*i, prefix, true))
+ if (str_starts_with(narrow_to_wide(*i), prefix, true))
{
- std::wstring completion = *i;
+ std::wstring completion = narrow_to_wide(*i);
if (prefix_start == 0)
completion += L":";
completions.push_back(completion);