| 43 | } |
| 44 | |
| 45 | inline unsigned char from_hex ( |
| 46 | unsigned char ch |
| 47 | ) |
| 48 | { |
| 49 | if (ch <= '9' && ch >= '0') |
| 50 | ch -= '0'; |
| 51 | else if (ch <= 'f' && ch >= 'a') |
| 52 | ch -= 'a' - 10; |
| 53 | else if (ch <= 'F' && ch >= 'A') |
| 54 | ch -= 'A' - 10; |
| 55 | else |
| 56 | ch = 0; |
| 57 | return ch; |
| 58 | } |
| 59 | |
| 60 | const std::string urldecode ( |
| 61 | const std::string& str |