summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/format.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-02-29 20:11:21 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-02-29 20:11:21 +0000
commit82fd8b10b5d975349ddb4088f205401687d75f7b (patch)
treeab44ea237731ac2a88648e98f2dcca93d1b8af47 /crawl-ref/source/format.cc
parent6b1ce5dda57255e4f6bc166a27b3b071739ac5d1 (diff)
downloadcrawl-ref-82fd8b10b5d975349ddb4088f205401687d75f7b.tar.gz
crawl-ref-82fd8b10b5d975349ddb4088f205401687d75f7b.zip
Fix trunk compile, and a bit of code clean-up.
Oh, and filter MSGCH_PROMPT from message history. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3488 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/format.cc')
-rw-r--r--crawl-ref/source/format.cc26
1 files changed, 18 insertions, 8 deletions
diff --git a/crawl-ref/source/format.cc b/crawl-ref/source/format.cc
index 38d175cda0..35c3d9d9ce 100644
--- a/crawl-ref/source/format.cc
+++ b/crawl-ref/source/format.cc
@@ -336,23 +336,33 @@ std::string formatted_string::to_colour_string() const
const int size = ops.size();
for (int i = 0; i < size; ++i)
{
- if (ops[i] == FSOP_TEXT) {
- // gotta double up those '<' chars ...
- uint start = st.size();
+ if (ops[i] == FSOP_TEXT)
+ {
st += ops[i].text;
- while (true) {
- const uint left_angle = st.find('<', start);
- if (left_angle == std::string::npos) break;
+
+ // gotta double up those '<' chars ...
+ unsigned int start = st.size();
+ unsigned int left_angle;
+
+ while (true)
+ {
+ left_angle = st.find('<', start);
+ if (left_angle == std::string::npos)
+ break;
+
st.insert(left_angle, "<");
start = left_angle + 2;
}
- } else if (ops[i] == FSOP_COLOUR) {
+ }
+ else if (ops[i] == FSOP_COLOUR)
+ {
st += "<";
st += colour_to_str(ops[i].x);
st += ">";
}
}
- return st;
+
+ return st;
}
void formatted_string::display(int s, int e) const