+2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * doc/kernel.c (cmain): Use padding to properly display 64-bit
+ quantities.
+ (printf): Add padding support.
+ Reported by: Soeren D. Schulze.
+
2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
* doc/multiboot.texi: Fix a typo.
(unsigned long) mmap < mbi->mmap_addr + mbi->mmap_length;
mmap = (multiboot_memory_map_t *) ((unsigned long) mmap
+ mmap->size + sizeof (mmap->size)))
- printf (" size = 0x%x, base_addr = 0x%x%x,"
- " length = 0x%x%x, type = 0x%x\n",
+ printf (" size = 0x%x, base_addr = 0x%x%08x,"
+ " length = 0x%x%08x, type = 0x%x\n",
(unsigned) mmap->size,
(unsigned) (mmap->addr >> 32),
(unsigned) (mmap->addr & 0xffffffff),
putchar (c);
else
{
- char *p;
+ char *p, *p2;
+ int pad0 = 0, pad = 0;
c = *format++;
+ if (c == '0')
+ {
+ pad0 = 1;
+ c = *format++;
+ }
+
+ if (c >= '0' && c <= '9')
+ {
+ pad = c - '0';
+ c = *format++;
+ }
+
switch (c)
{
case 'd':
p = "(null)";
string:
+ for (p2 = p; *p2; p2++);
+ for (; p2 < p + pad; p2++)
+ putchar (pad0 ? '0' : ' ');
while (*p)
putchar (*p++);
break;