mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
printk: ipv4 address digits printed in reverse order
put_dec_trunc prints the digits in reverse order and is reversed inside number(). Continue using put_dec_trunc, but reverse each quad in ip4_addr_string. [Noticed by Julius Volz] Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
48148938b4
commit
b9ac99855d
@ -620,11 +620,15 @@ static char *ip4_addr_string(char *buf, char *end, u8 *addr, int field_width,
|
|||||||
int precision, int flags)
|
int precision, int flags)
|
||||||
{
|
{
|
||||||
char ip4_addr[4 * 4]; /* (4 * 3 decimal digits), 3 dots and trailing zero */
|
char ip4_addr[4 * 4]; /* (4 * 3 decimal digits), 3 dots and trailing zero */
|
||||||
|
char temp[3]; /* hold each IP quad in reverse order */
|
||||||
char *p = ip4_addr;
|
char *p = ip4_addr;
|
||||||
int i;
|
int i, digits;
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
p = put_dec_trunc(p, addr[i]);
|
digits = put_dec_trunc(temp, addr[i]) - temp;
|
||||||
|
/* reverse the digits in the quad */
|
||||||
|
while (digits--)
|
||||||
|
*p++ = temp[digits];
|
||||||
if (i != 3)
|
if (i != 3)
|
||||||
*p++ = '.';
|
*p++ = '.';
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user