static void test_raw(void) { int i; char raw_data[32]; size_t raw_length; uint8_t *encoded_data; uint64_t encoded_length; uint8_t *decoded_data; uint64_t decoded_length; uint8_t expected_data[32]; uint64_t expected_length; for(i = 0; i < 256; i++) { raw_length = sprintf(raw_data, "%%%02x \\x%02x %02x", i, i, i); encoded_data = encode_raw((uint8_t*)raw_data, raw_length, &encoded_length); expected_length = sprintf((char*)expected_data, "%%%02x \\x%02x %02x", i, i, i); test_check_memory("encode_raw", expected_data, expected_length, encoded_data, encoded_length); free(encoded_data); } for(i = 0; i < 256; i++) { raw_length = sprintf(raw_data, "%%%02x \\x%02x %02x", i, i, i); decoded_data = decode_raw((uint8_t*)raw_data, raw_length, &decoded_length); expected_length = sprintf((char*)expected_data, "%%%02x \\x%02x %02x", i, i, i); test_check_memory("decode_raw", expected_data, expected_length, decoded_data, decoded_length); free(decoded_data); } }
void DjVuANT::merge(ByteStream & str) { GLParser parser(encode_raw()); GUTF8String add_raw=read_raw(str); parser.parse(add_raw); decode(parser); }
/* encodes a string */ EXPORT int encode_string(char *value, void *data, int maxlen) { return encode_raw(value, data, maxlen, strlen(value)+1); }
void DjVuANT::encode(ByteStream &bs) { GUTF8String raw=encode_raw(); bs.writall((const char*) raw, raw.length()); }