---------------------------------------------------------------------- CEscape() Copies 'src' to result, escaping dangerous characters using C-style escape sequences. 'src' and 'dest' should not overlap. ----------------------------------------------------------------------
| 66 | // C-style escape sequences. 'src' and 'dest' should not overlap. |
| 67 | // ---------------------------------------------------------------------- |
| 68 | std::string CEscape(const StringPiece& src) { |
| 69 | const size_t dest_len = src.size() * 4 + 1; // Maximum possible expansion |
| 70 | char* dest = new char[dest_len]; |
| 71 | const size_t used = CEscapeString(src.data(), src.size(), |
| 72 | dest, dest_len); |
| 73 | std::string s = std::string(dest, used); |
| 74 | delete[] dest; |
| 75 | return s; |
| 76 | } |
| 77 | |
| 78 | void PrefixSuccessor(std::string* prefix) { |
| 79 | // We can increment the last character in the string and be done |