Web lists-archives.com

Re: [PATCH v1 2/5] Teach git to optionally utilize a file system monitor to speed up detecting new or changed files.






On 5/16/2017 3:13 PM, Johannes Sixt wrote:
Am 16.05.2017 um 19:17 schrieb Ben Peart:
OK, now I'm confused as to the best path for adding a get_be64.  This
one is trivial:

#define get_be64(p)    ntohll(*(uint64_t *)(p))

I cringe when I see a cast like this. Unless you can guarantee that p is
char* (bare or signed or unsigned), you fall pray to strict aliasing
violations, aka undefined behavior. And I'm not even mentioning correct
alignment, yet.

-- Hannes

Note, this macro is only used where the CPU architecture is OK with unaligned memory access. You can see it in context with many similar macros and casts in bswap.h. It's outside the scope of this patch series to fix them all. Perhaps a separate patch series?