diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2020-01-26 13:37:08 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2020-01-26 13:37:08 +0200 |
commit | 4ae9ab70cd3214395756435d13d8d000368ca2cb (patch) | |
tree | 8cbd8a59b9fac31ee58f7d9f4ddf9d363acacd47 | |
parent | xz: Move the setting of flush_needed in file_io.c to a nicer location. (diff) | |
download | xz-4ae9ab70cd3214395756435d13d8d000368ca2cb.tar.xz |
xz: Update a comment in file_io.h.
-rw-r--r-- | src/xz/file_io.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/xz/file_io.h b/src/xz/file_io.h index ff6fb80a..4b4418d6 100644 --- a/src/xz/file_io.h +++ b/src/xz/file_io.h @@ -20,7 +20,10 @@ /// is_sparse() accesses the buffer as uint64_t for maximum speed. -/// Use an union to make sure that the buffer is properly aligned. +/// The u32 and u64 members must only be access through this union +/// to avoid strict aliasing violations. Taking a pointer of u8 +/// should be fine as long as uint8_t maps to unsigned char which +/// can alias anything. typedef union { uint8_t u8[IO_BUFFER_SIZE]; uint32_t u32[IO_BUFFER_SIZE / sizeof(uint32_t)]; |