mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	The format specifier for the "unsigned int" variable is documented as
"%d". However, it should be "%u". Thus, fix it.
Fixes: f5e9035043fb ("doc: printf() codes")
Reported-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
		
	
			
		
			
				
	
	
		
			200 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			200 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0+
 | |
| 
 | |
| Printf() format codes
 | |
| =====================
 | |
| 
 | |
| Each conversion specification consists of:
 | |
| 
 | |
| * leading '%' character
 | |
| * zero or more flags
 | |
| * an optional minimum field width
 | |
| * an optional precision field preceded by '.'
 | |
| * an optional length modifier
 | |
| * a conversion specifier
 | |
| 
 | |
| Flags
 | |
| -----
 | |
| 
 | |
| 'space'
 | |
| 	fill up with spaces to reach the specified length
 | |
| 
 | |
| \-
 | |
| 	left justify
 | |
| 
 | |
| \+
 | |
| 	add sign field of decimal conversion
 | |
| 
 | |
| #
 | |
| 	convert to alternative form
 | |
| 
 | |
| 	* prepend 0 to octal output
 | |
| 	* ignored for decimal output
 | |
| 	* prepend 0X to hexadecimal output
 | |
| 
 | |
| 0
 | |
| 	fill up with zeroes to reach the specified length
 | |
| 
 | |
| 
 | |
| Integer types
 | |
| -------------
 | |
| 
 | |
| Length modifiers
 | |
| ''''''''''''''''
 | |
| 
 | |
| The optional length modifier specifies the size of the argument.
 | |
| 
 | |
| no modifier
 | |
| 	bool, enum, short, int are passed as int
 | |
| 
 | |
| %h
 | |
| 	convert to (unsigned) short before printing.
 | |
| 	Only the low 16 bits are printed.
 | |
| 
 | |
| %hh
 | |
| 	**not implemented**
 | |
| 
 | |
| %j
 | |
| 	**not implemented**
 | |
| 
 | |
| %l
 | |
| 	long
 | |
| 
 | |
| %ll, %L
 | |
| 	long long
 | |
| 
 | |
| %t
 | |
| 	ptr_diff_t
 | |
| 
 | |
| %z, %Z
 | |
| 	size_t, ssize_t
 | |
| 
 | |
| Conversion specifiers
 | |
| '''''''''''''''''''''
 | |
| 
 | |
| Conversion specifiers control the output.
 | |
| 
 | |
| %d
 | |
| 	signed decimal
 | |
| 
 | |
| %u
 | |
| 	unsigned decimal
 | |
| 
 | |
| %o
 | |
| 	unsigned octal
 | |
| 
 | |
| %x
 | |
| 	unsigned lower case hexadecimal
 | |
| 
 | |
| %X
 | |
| 	unsigned upper case hexadecimal
 | |
| 
 | |
| The floating point conversion specifiers are not implemented:
 | |
| 
 | |
| * %a
 | |
| * %A
 | |
| * %e
 | |
| * %E
 | |
| * %f
 | |
| * %F
 | |
| * %g
 | |
| * %G
 | |
| 
 | |
| The following tables shows the correct combinations of modifiers and specifiers
 | |
| for the individual integer types.
 | |
| 
 | |
| =================== ==================
 | |
| Type                Format specifier
 | |
| =================== ==================
 | |
| bool                %d, %x
 | |
| char                %d, %x
 | |
| unsigned char       %u, %x
 | |
| short               %d, %x
 | |
| unsigned short      %u, %x
 | |
| int                 %d, %x
 | |
| unsigned int        %u, %x
 | |
| long                %ld, %lx
 | |
| unsigned long       %lu, %lx
 | |
| long long           %lld, %llx
 | |
| unsigned long long  %llu, %llx
 | |
| off_t               %llu, %llx
 | |
| ptr_diff_t          %td, %tx
 | |
| fdt_addr_t          %pa, see pointers
 | |
| fdt_size_t          %pa, see pointers
 | |
| phys_addr_t         %pa, see pointers
 | |
| phys_size_t         %pa, see pointers
 | |
| resource_size_t     %pa, see pointers
 | |
| size_t              %zu, %zx, %zX
 | |
| ssize_t             %zd, %zx, %zX
 | |
| =================== ==================
 | |
| 
 | |
| Characters
 | |
| ----------
 | |
| 
 | |
| %%
 | |
| 	a '%' character is written
 | |
| 
 | |
| %c
 | |
|         prints a single character
 | |
| 
 | |
| %lc
 | |
| 	**not implemented**
 | |
| 
 | |
| Strings
 | |
| -------
 | |
| 
 | |
| %s
 | |
|         prints a UTF-8 string (char \*)
 | |
| 
 | |
| %ls
 | |
|         prints a UTF-16 string (u16 \*)
 | |
| 
 | |
| Pointers
 | |
| --------
 | |
| 
 | |
| %p
 | |
|         prints the address the pointer points to hexadecimally
 | |
| 
 | |
| %pa, %pap
 | |
|         prints the value of a phys_addr_t value that the pointer points to
 | |
|         preceded with 0x and zero padding according to the size of phys_addr_t.
 | |
| 	The following types should be printed this way:
 | |
| 
 | |
| 	* fdt_addr_t
 | |
| 	* fdt_size_t
 | |
| 	* phys_addr_t
 | |
| 	* phys_size_t
 | |
| 	* resource_size_t
 | |
| 
 | |
| %pD
 | |
|         prints a UEFI device path
 | |
| 
 | |
| %pi4, %pI4
 | |
|         prints IPv4 address, e.g. '192.168.0.1'
 | |
| 
 | |
| %pm
 | |
|         prints MAC address without separators, e.g. '001122334455'
 | |
| 
 | |
| %pM
 | |
|         print MAC address colon separated, e.g. '00:01:02:03:04:05'
 | |
| 
 | |
| %pUb
 | |
|         prints GUID big endian, lower case
 | |
|         e.g. '00112233-4455-6677-8899-aabbccddeeff'
 | |
| 
 | |
| %pUB
 | |
|         prints GUID big endian, upper case
 | |
|         e.g. '00112233-4455-6677-8899-AABBCCDDEEFF'
 | |
| 
 | |
| %pUl
 | |
|         prints GUID little endian, lower case
 | |
|         e.g. '33221100-5544-7766-8899-aabbccddeeff'
 | |
| 
 | |
| %pUL
 | |
|         prints GUID little endian, upper case
 | |
|         e.g. '33221100-5544-7766-8899-AABBCCDDEEFF'
 | |
| 
 | |
| %pUs
 | |
|         prints text description of a GUID or if such is not known little endian,
 | |
|         lower case, e.g. 'system' for a GUID identifying an EFI system
 | |
| 	partition.
 |