formatting
This commit is contained in:
parent
1b033a0ff6
commit
e8a6c3f5cf
1 changed files with 56 additions and 56 deletions
|
|
@ -132,64 +132,64 @@ void kputs(const char *str)
|
||||||
|
|
||||||
void kprintf_internal(const char *format, va_list args)
|
void kprintf_internal(const char *format, va_list args)
|
||||||
{
|
{
|
||||||
for (const char *p = format; *p != '\0'; p++)
|
for (const char *p = format; *p != '\0'; p++)
|
||||||
{
|
{
|
||||||
if (*p == '%')
|
if (*p == '%')
|
||||||
{
|
{
|
||||||
p++;
|
p++;
|
||||||
switch (*p)
|
switch (*p)
|
||||||
{
|
{
|
||||||
case 'c':
|
case 'c':
|
||||||
{
|
{
|
||||||
char c = (char)va_arg(args, int);
|
char c = (char)va_arg(args, int);
|
||||||
kputchar(c);
|
kputchar(c);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 's':
|
case 's':
|
||||||
{
|
{
|
||||||
char *s = va_arg(args, char *);
|
char *s = va_arg(args, char *);
|
||||||
kprint(s);
|
kprint(s);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'd':
|
case 'd':
|
||||||
{
|
{
|
||||||
int d = va_arg(args, int);
|
int d = va_arg(args, int);
|
||||||
kprint_int(d);
|
kprint_int(d);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'f':
|
case 'f':
|
||||||
{
|
{
|
||||||
double f = va_arg(args, double);
|
double f = va_arg(args, double);
|
||||||
kprint_float((float)f);
|
kprint_float((float)f);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'x': // Hex
|
case 'x': // Hex
|
||||||
case 'p': // Pointer
|
case 'p': // Pointer
|
||||||
{
|
{
|
||||||
uint64_t x = va_arg(args, uint64_t);
|
uint64_t x = va_arg(args, uint64_t);
|
||||||
kprint_hex(x);
|
kprint_hex(x);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '%':
|
case '%':
|
||||||
kputchar('%');
|
kputchar('%');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
kputchar('%');
|
kputchar('%');
|
||||||
kputchar(*p);
|
kputchar(*p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
kputchar(*p);
|
kputchar(*p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
knewline();
|
knewline();
|
||||||
}
|
}
|
||||||
|
|
||||||
void kprintf(const char *format, ...)
|
void kprintf(const char *format, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
kprintf_internal(format, args);
|
kprintf_internal(format, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue