Smaller kputunum implementation (byte shaving).
authorDavid Given <dg@cowlark.com>
Fri, 3 Jul 2015 22:49:16 +0000 (00:49 +0200)
committerDavid Given <dg@cowlark.com>
Fri, 3 Jul 2015 22:49:16 +0000 (00:49 +0200)
Kernel/devio.c

index ed976f2..836c1e6 100644 (file)
@@ -486,11 +486,11 @@ void kputhex(unsigned int v)
 void kputunum(unsigned int v)
 {
        unsigned char n = 0;
-       putdigit((v / 10000) % 10, &n);
-       putdigit((v / 1000) % 10, &n);
-       putdigit((v / 100) % 10, &n);
-       putdigit((v / 10) % 10, &n);
-       putdigit0(v % 10);
+       unsigned int f = 10000;
+       do {
+               putdigit((v / f) % 10, &n);
+               f /= 10;
+       } while (f > 0);
 }
 
 void kputnum(int v)