fix label escape character issue

This commit is contained in:
Jinhao 2016-03-31 20:17:53 +08:00
parent 735f1e97fa
commit ca1e7810c7

View File

@ -194,21 +194,32 @@ namespace nana{ namespace widgets{ namespace skeletons
return token::tag_begin; return token::tag_begin;
} }
//Escape //Escape
if(ch == '\\') if(this->format_enabled_ && (ch == '\\'))
{ {
if(iptr_ + 1 < endptr_) if(iptr_ + 1 < endptr_)
{ {
ch = *(iptr_ + 1); ch = *(iptr_ + 1);
if ('<' == ch || '>' == ch) //two characters need to be escaped.
{
iptr_ += 2; iptr_ += 2;
} }
else else
{
//ignore escape
ch = '\\';
iptr_++;
}
}
else
{ {
iptr_ = endptr_; iptr_ = endptr_;
return token::eof; return token::eof;
} }
} }
else
++iptr_; ++iptr_;
idstr_.clear(); idstr_.clear();
@ -277,6 +288,8 @@ namespace nana{ namespace widgets{ namespace skeletons
return token::eof; return token::eof;
} }
if(('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z') || '_' == ch) if(('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z') || '_' == ch)
{ {
--iptr_; --iptr_;