inline std::string escape()

in src/util/StringUtil.h [36:69]


inline std::string escape(std::string const& s, const char* alsoEscape = "") {
  std::string t;
  for (char c : s) {
    switch (c) {
      case '\b':
        t += "\\b";
        break;
      case '\t':
        t += "\\t";
        break;
      case '\n':
        t += "\\n";
        break;
      case '\f':
        t += "\\f";
        break;
      case '\r':
        t += "\\r";
        break;
      case '\\':
        t += "\\\\";
        break;
      default:
        for (const char* ptr = alsoEscape; *ptr; ++ptr) {
          if (c == *ptr) {
            t += '\\';
            break;
          }
        }
        t += c;
    }
  }
  return t;
}