* Matthew Fluet: >> May break aliasing rules. Use unions. This also ensures >> correct alignment. > > I was under the impression that 'unsigned char*' implies that it may > alias with anything, so that this specifically doesn't break aliasing > rules. Correct. If you pretend to the C code that the pointer began life as an (unsigned) pointer to char, you should be fine.