On 7/11/05, Michael S. Tsirkin <[EMAIL PROTECTED]> wrote: > [snip] > kernel guide to space AKA a boring list of rules > http://www.mellanox.com/mst/boring.txt > [snip] > > 3c. * in types > Leave space between name and * in types. > Multiple * dont need additional space between them. > > struct foo **bar; > Don't put spaces between `*' and the name when declaring variables, even if it's not a double pointer. int * foo; is ugly. Common convention is int *foo;
> 3e. sizeof > space after the operator > sizeof a > I don't think that's a hard rule, there's plenty of code that does "sizeof(type)" and not "sizeof (type)", and whitespace cleanup patches I've done that change "sizeof (type)" into "sizeof(type)" have generally been accepted. [snip] > > 4. Indentation rules for C > Use tabs, not spaces, for indentation. Tabs should be 8 characters > wide. > A tab is a tab is a tab, how it's displayed is up to the editor showing the file. [snip] > > static struct foo *foo_bar(struct foo *first, struct bar *second, > struct foobar* thirsd); > In this example you are not consistently placing your *'s, "struct foo *first" vs "struct foobar* thirsd". Common practice is "struct foo *first". [snip] > > No more than one blank line in a row. > Last (or first) line in a file is never blank. > Files should end with a newline. gcc will even warn (with -pedantic) if this is not so. "line<nl> line" is wrong, "line<nl> line<nl> " is right. > Non-whitespace issues: > > 6. One-line statement does not need a {} block, so dont put it into one > if (foo) > bar; > Not always so, if `bar' is a macro adding {} may be safer. Also sometimes adding {} improves readability, which is important. > 7. Comments > Dont use C99 // comments. > s/Dont/Don't/ > 9a. Integer types > int is the default integer type. > Use unsigned type if you perform bit operations (<<,>>,&,|,~). > Use unsigned long if you have to fit a pointer into integer. > long long is at least 64 bit wide on all platforms. > char is for ASCII characters and strings. > Use u8,u16,u32,u64 if you need an integer of a specific size. u8,s8,u16,s16,u32,s32,u64,s64 -- Jesper Juhl <[EMAIL PROTECTED]> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/