On Wed, Mar 14, 2012 at 06:58:32PM +0100, Lennart Poettering wrote: > On Wed, 07.03.12 06:34, Josh Triplett ([email protected]) wrote: > > I've attached a header file which should provide all the endianness > > checking you need. Just include it in place of endian.h everywhere you > > currently include endian.h. I stuck an all-permissive MIT license on > > it, for maximum possible reuse. > > This looks really cool! Thanks a lot for this. One comment, before we > stick this into systemd: > > > #ifndef SPARSE_ENDIAN_H > > #define SPARSE_ENDIAN_H > > > > #include <endian.h> > > #include <stdint.h> > > > > #ifdef __CHECKER__ > > #define __bitwise __attribute__((bitwise)) > > #define __force __attribute__((force)) > > #else > > #define __bitwise > > #define __force > > #endif > > > > typedef uint16_t __bitwise le16; > > typedef uint16_t __bitwise be16; > > typedef uint32_t __bitwise le32; > > typedef uint32_t __bitwise be32; > > typedef uint64_t __bitwise le64; > > typedef uint64_t __bitwise be64; > > Can we add a suffix _t here? I much prefer le16_t over le16, since this > is a type.
Sure, feel free. I used the unsuffixed names to match the kernel's type names and the names used in the conversion functions, but the endianness checking will obviously work with whatever names you prefer. :) The following sed line will give you the names you want: sed -i 's/\<[bl]e\(16\|32\|64\)\>/&_t/g' sparse-endian.h > (and also, emacs' recognizes this and highlights it differently ;-)) I just checked with "emacs -q", and at least on my system emacs seems to correctly identify and highlight all six of those names as types by default, in all the contexts I can think of where a type can appear. Take a look at https://www.gnu.org/software/emacs/manual/html_node/ccmode/Font-Locking-Preliminaries.html ; you may want to make sure you have your font-lock level set sufficiently high. > Thanks! No problem; I look forward to seeing what endianness bugs you can squash with this. :) - Josh Triplett _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
