No functional change, just refactor the code so that it avoid checking "if (hi)" two times in a sequence, taking advantage of previous check made.
It also reduces code size: text data bss dec hex filename 15735 0 8 15743 3d7f lib/vsprintf.o-before 15719 0 8 15727 3d6f lib/vsprintf.o-minus-double-check
Signed-off-by: André Goddard Rosa andre.goddard@gmail.com Acked-by: Frederic Weisbecker fweisbec@gmail.com --- lib/vsprintf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 14e4197..af79152 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -747,8 +747,9 @@ static char *ip6_compressed_string(char *p, const char *addr) p = pack_hex_byte(p, hi); else *p++ = hex_asc_lo(hi); + p = pack_hex_byte(p, lo); } - if (hi || lo > 0x0f) + else if (lo > 0x0f) p = pack_hex_byte(p, lo); else *p++ = hex_asc_lo(lo);