string csstidy::unicode(string& istring,int& i) { ++i; string add = ""; bool replaced = false; while(i < istring.length() && (ctype_xdigit(istring[i]) || ctype_space(istring[i])) && add.length()< 6) { add += istring[i]; if(ctype_space(istring[i])) { break; } i++; } if(hexdec(add) > 47 && hexdec(add) < 58 || hexdec(add) > 64 && hexdec(add) < 91 || hexdec(add) > 96 && hexdec(add) < 123) { string msg = "Replaced unicode notation: Changed \\" + rtrim(add) + " to "; add = static_cast<int>(hexdec(add)); msg += add; log(msg,Information); replaced = true; } else { add = trim("\\" + add); } if(ctype_xdigit(istring[i+1]) && ctype_space(istring[i]) && !replaced || !ctype_space(istring[i])) { i--; } if(add != "\\" || !settings["remove_bslash"] || in_str_array(tokens,istring[i+1])) { return add; } if(add == "\\") { log("Removed unnecessary backslash",Information); } return ""; }
std::string MSVTKExport::trim(std::string istring) { bool trimmed = false; if (ctype_space(istring[istring.length() - 1])) { istring.erase(istring.length() - 1); trimmed = true; } if (ctype_space(istring[0])) { istring.erase(0, 1); trimmed = true; } if (!trimmed) { return istring; } else { return trim(istring); } }