Skip to content

Commit

Permalink
coding_style: add point about 0x in trace-events
Browse files Browse the repository at this point in the history
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
  • Loading branch information
Vladimir Sementsov-Ogievskiy authored and stefanhaRH committed Aug 1, 2017
1 parent d87aa13 commit 44c6d63
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions CODING_STYLE
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,38 @@ We use traditional C-style /* */ comments and avoid // comments.

Rationale: The // form is valid in C99, so this is purely a matter of
consistency of style. The checkpatch script will warn you about this.

8. trace-events style

8.1 0x prefix

In trace-events files, use a '0x' prefix to specify hex numbers, as in:

some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64

An exception is made for groups of numbers that are hexadecimal by
convention and separated by the symbols '.', '/', ':', or ' ' (such as
PCI bus id):

another_trace(int cssid, int ssid, int dev_num) "bus id: %x.%x.%04x"

However, you can use '0x' for such groups if you want. Anyway, be sure that
it is obvious that numbers are in hex, ex.:

data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x %02x"

Rationale: hex numbers are hard to read in logs when there is no 0x prefix,
especially when (occasionally) the representation doesn't contain any letters
and especially in one line with other decimal numbers. Number groups are allowed
to not use '0x' because for some things notations like %x.%x.%x are used not
only in Qemu. Also dumping raw data bytes with '0x' is less readable.

8.2 '#' printf flag

Do not use printf flag '#', like '%#x'.

Rationale: there are two ways to add a '0x' prefix to printed number: '0x%...'
and '%#...'. For consistency the only one way should be used. Arguments for
'0x%' are:
- it is more popular
- '%#' omits the 0x for the value 0 which makes output inconsistent

0 comments on commit 44c6d63

Please sign in to comment.