| 31 | } |
| 32 | |
| 33 | bool unescape(const char* in, size_t len, acl::string& out) |
| 34 | { |
| 35 | char ch; |
| 36 | |
| 37 | while (len > 0) { |
| 38 | ch = *in; |
| 39 | if (ch != escape_prefix) { |
| 40 | out << ch; |
| 41 | } else if (*++in == 0) { |
| 42 | return false; |
| 43 | } else { |
| 44 | ch = *in; |
| 45 | if (ch < escape_shift) { |
| 46 | return false; |
| 47 | } |
| 48 | ch -= escape_shift; |
| 49 | out << ch; |
| 50 | } |
| 51 | in++; |
| 52 | len--; |
| 53 | } |
| 54 | |
| 55 | return true; |
| 56 | } |
| 57 | |
| 58 | } // namespace acl |
no outgoing calls
searching dependent graphs…