/work/workdir/UnpackedTarball/harfbuzz/src/hb-zlib.hh
Line | Count | Source |
1 | | #ifndef HB_ZLIB_HH |
2 | | #define HB_ZLIB_HH |
3 | | |
4 | | #include "hb-blob.hh" |
5 | | |
6 | | static inline bool |
7 | | hb_blob_is_gzip (const char *data, |
8 | | unsigned data_len) |
9 | 0 | { |
10 | 0 | return data_len >= 3 && |
11 | 0 | (unsigned char) data[0] == 0x1Fu && |
12 | 0 | (unsigned char) data[1] == 0x8Bu && |
13 | 0 | (unsigned char) data[2] == 0x08u; |
14 | 0 | } Unexecuted instantiation: hb-ot-color.cc:hb_blob_is_gzip(char const*, unsigned int) Unexecuted instantiation: hb-ot-face.cc:hb_blob_is_gzip(char const*, unsigned int) Unexecuted instantiation: hb-ot-font.cc:hb_blob_is_gzip(char const*, unsigned int) |
15 | | |
16 | | static inline bool |
17 | | hb_gzip_get_uncompressed_size (const char *data, |
18 | | unsigned data_len, |
19 | | uint32_t *size) |
20 | 0 | { |
21 | 0 | if (data_len < 4) |
22 | 0 | return false; |
23 | 0 |
|
24 | 0 | const unsigned char *trailer = (const unsigned char *) data + data_len - 4; |
25 | 0 | if (size) |
26 | 0 | *size = (uint32_t) trailer[0] | |
27 | 0 | ((uint32_t) trailer[1] << 8) | |
28 | 0 | ((uint32_t) trailer[2] << 16) | |
29 | 0 | ((uint32_t) trailer[3] << 24); |
30 | 0 | return true; |
31 | 0 | } Unexecuted instantiation: hb-ot-color.cc:hb_gzip_get_uncompressed_size(char const*, unsigned int, unsigned int*) Unexecuted instantiation: hb-ot-face.cc:hb_gzip_get_uncompressed_size(char const*, unsigned int, unsigned int*) Unexecuted instantiation: hb-ot-font.cc:hb_gzip_get_uncompressed_size(char const*, unsigned int, unsigned int*) |
32 | | |
33 | | HB_INTERNAL hb_blob_t * |
34 | | hb_blob_decompress_gzip (hb_blob_t *blob, |
35 | | unsigned max_output_len); |
36 | | |
37 | | #endif /* HB_ZLIB_HH */ |