summaryrefslogtreecommitdiff
path: root/src/map/magic.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-06-29 23:23:43 -0700
committerBen Longbons <b.r.longbons@gmail.com>2013-08-01 15:19:45 -0700
commit3b98f3439e33b15bba2036c402f9925340fdb2b9 (patch)
treef6a59330bb747d9cc64f5f83d06e7f76dc01d540 /src/map/magic.cpp
parent8d1480c1be7c9741876d89008277a2b3629a4d01 (diff)
downloadtmwa-3b98f3439e33b15bba2036c402f9925340fdb2b9.tar.gz
tmwa-3b98f3439e33b15bba2036c402f9925340fdb2b9.tar.bz2
tmwa-3b98f3439e33b15bba2036c402f9925340fdb2b9.tar.xz
tmwa-3b98f3439e33b15bba2036c402f9925340fdb2b9.zip
Poison std::string and use the various string classes
Diffstat (limited to 'src/map/magic.cpp')
-rw-r--r--src/map/magic.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/map/magic.cpp b/src/map/magic.cpp
index e225830..9c07dd1 100644
--- a/src/map/magic.cpp
+++ b/src/map/magic.cpp
@@ -12,31 +12,29 @@
/// Return a pair of strings, {spellname, parameter}
/// Parameter may be empty.
static
-std::pair<std::string, std::string> magic_tokenise(std::string src)
+std::pair<XString, XString> magic_tokenise(XString src)
{
- std::string retval = std::move(src);
- const std::string::iterator rvb = retval.begin(), rve = retval.end();
- std::string::iterator seeker = std::find(rvb, rve, ' ');
+ auto seeker = std::find(src.begin(), src.end(), ' ');
- if (seeker == retval.end())
+ if (seeker == src.end())
{
- return {retval, std::string()};
+ return {src, XString()};
}
else
{
- std::string rv1(rvb, seeker);
+ XString rv1 = src.xislice_h(seeker);
++seeker;
- while (seeker != rve && *seeker == ' ')
+ while (seeker != src.end() && *seeker == ' ')
++seeker;
// Note: this very well could be empty
- std::string rv2(seeker, rve);
+ XString rv2 = src.xislice_t(seeker);
return {rv1, rv2};
}
}
-int magic_message(dumb_ptr<map_session_data> caster, const std::string& source_invocation)
+int magic_message(dumb_ptr<map_session_data> caster, XString source_invocation)
{
if (pc_isdead(caster))
return 0;
@@ -52,8 +50,8 @@ int magic_message(dumb_ptr<map_session_data> caster, const std::string& source_i
magic_unshroud(caster);
auto pair = magic_tokenise(source_invocation);
- std::string spell_invocation = std::move(pair.first);
- std::string parameter = std::move(pair.second);
+ XString spell_invocation = pair.first;
+ XString parameter = pair.second;
dumb_ptr<spell_t> spell = magic_find_spell(spell_invocation);