| 28 | } |
| 29 | |
| 30 | uint64_t read_varint_sqlite4(const std::string &str) { |
| 31 | const char *be = str.data(); |
| 32 | const char *en = str.data() + str.size(); |
| 33 | uint64_t val = read_varint_sqlite4(be, en); |
| 34 | if (be != en) |
| 35 | throw std::runtime_error("read_varint_sqlite4 excess symbols in string"); |
| 36 | return val; |
| 37 | } |
| 38 | |
| 39 | void read(const unsigned char *&begin, const unsigned char *end, unsigned char *to, size_t len) { |
| 40 | if (end < begin + len) |