| 1 | Piece of LzmaEnc.c: |
| 2 | |
| 3 | {{{ |
| 4 | static size_t SeqOutStreamBuf_Write(ISeqOutStreamPtr pp, const void *data, size_t size) |
| 5 | { |
| 6 | Z7_CONTAINER_FROM_VTBL_TO_DECL_VAR_pp_vt_p(CLzmaEnc_SeqOutStreamBuf) |
| 7 | if (p->rem < size) |
| 8 | { |
| 9 | size = p->rem; |
| 10 | p->overflow = True; |
| 11 | } |
| 12 | if (size != 0) |
| 13 | { |
| 14 | memcpy(p->data, data, size); |
| 15 | p->rem -= size; |
| 16 | p->data += size; |
| 17 | } |
| 18 | return size; |
| 19 | } |
| 20 | }}} |
| 21 | |
| 22 | Piece of Piece of 7zTypes.h: |
| 23 | |
| 24 | |
| 25 | {{{ |
| 26 | #if defined (__clang__) || defined(__GNUC__) |
| 27 | #define Z7_DIAGNOSCTIC_IGNORE_BEGIN_CAST_QUAL \ |
| 28 | _Pragma("GCC diagnostic push") \ |
| 29 | _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") |
| 30 | #define Z7_DIAGNOSCTIC_IGNORE_END_CAST_QUAL \ |
| 31 | _Pragma("GCC diagnostic pop") |
| 32 | #else |
| 33 | #define Z7_DIAGNOSCTIC_IGNORE_BEGIN_CAST_QUAL |
| 34 | #define Z7_DIAGNOSCTIC_IGNORE_END_CAST_QUAL |
| 35 | #endif |
| 36 | |
| 37 | #define Z7_CONTAINER_FROM_VTBL_TO_DECL_VAR(ptr, type, m, p) \ |
| 38 | Z7_DIAGNOSCTIC_IGNORE_BEGIN_CAST_QUAL \ |
| 39 | type *p = Z7_CONTAINER_FROM_VTBL(ptr, type, m); \ |
| 40 | Z7_DIAGNOSCTIC_IGNORE_END_CAST_QUAL |
| 41 | |
| 42 | #define Z7_CONTAINER_FROM_VTBL_TO_DECL_VAR_pp_vt_p(type) \ |
| 43 | Z7_CONTAINER_FROM_VTBL_TO_DECL_VAR(pp, type, vt, p) |
| 44 | }}} |
| 45 | |