line+=pline;
// strip everything after a #
- if((pos=line.find("#"))!=string::npos)
- line=line.substr(0,pos);
+ if((pos=line.find("#"))!=string::npos) {
+ // make sure it's either first char or has whitespace before
+ // fixes issue #354
+ if (pos == 0 || std::isspace(line[pos-1]))
+ line=line.substr(0,pos);
+ }
// strip trailing spaces
trim_right(line);
line+=pline;
// strip everything after a #
- if((pos=line.find("#"))!=string::npos)
- line=line.substr(0,pos);
+ if((pos=line.find("#"))!=string::npos) {
+ // make sure it's either first char or has whitespace before
+ // fixes issue #354
+ if (pos == 0 || std::isspace(line[pos-1]))
+ line=line.substr(0,pos);
+ }
// strip trailing spaces
trim(line);