Merge branch 'core/printk' into tracing/ftrace
This commit is contained in:
commit
2395037e5d
@ -768,7 +768,6 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr,
|
|||||||
static int format_decode(const char *fmt, struct printf_spec *spec)
|
static int format_decode(const char *fmt, struct printf_spec *spec)
|
||||||
{
|
{
|
||||||
const char *start = fmt;
|
const char *start = fmt;
|
||||||
bool sign = false;
|
|
||||||
|
|
||||||
/* we finished early by reading the field width */
|
/* we finished early by reading the field width */
|
||||||
if (spec->type == FORMAT_TYPE_WITDH) {
|
if (spec->type == FORMAT_TYPE_WITDH) {
|
||||||
@ -900,7 +899,7 @@ qualifier:
|
|||||||
|
|
||||||
case 'd':
|
case 'd':
|
||||||
case 'i':
|
case 'i':
|
||||||
sign = true;
|
spec->flags |= SIGN;
|
||||||
case 'u':
|
case 'u':
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -912,7 +911,7 @@ qualifier:
|
|||||||
if (spec->qualifier == 'L')
|
if (spec->qualifier == 'L')
|
||||||
spec->type = FORMAT_TYPE_LONG_LONG;
|
spec->type = FORMAT_TYPE_LONG_LONG;
|
||||||
else if (spec->qualifier == 'l') {
|
else if (spec->qualifier == 'l') {
|
||||||
if (sign)
|
if (spec->flags & SIGN)
|
||||||
spec->type = FORMAT_TYPE_LONG;
|
spec->type = FORMAT_TYPE_LONG;
|
||||||
else
|
else
|
||||||
spec->type = FORMAT_TYPE_ULONG;
|
spec->type = FORMAT_TYPE_ULONG;
|
||||||
@ -921,12 +920,12 @@ qualifier:
|
|||||||
} else if (spec->qualifier == 't') {
|
} else if (spec->qualifier == 't') {
|
||||||
spec->type = FORMAT_TYPE_PTRDIFF;
|
spec->type = FORMAT_TYPE_PTRDIFF;
|
||||||
} else if (spec->qualifier == 'h') {
|
} else if (spec->qualifier == 'h') {
|
||||||
if (sign)
|
if (spec->flags & SIGN)
|
||||||
spec->type = FORMAT_TYPE_SHORT;
|
spec->type = FORMAT_TYPE_SHORT;
|
||||||
else
|
else
|
||||||
spec->type = FORMAT_TYPE_USHORT;
|
spec->type = FORMAT_TYPE_USHORT;
|
||||||
} else {
|
} else {
|
||||||
if (sign)
|
if (spec->flags & SIGN)
|
||||||
spec->type = FORMAT_TYPE_INT;
|
spec->type = FORMAT_TYPE_INT;
|
||||||
else
|
else
|
||||||
spec->type = FORMAT_TYPE_UINT;
|
spec->type = FORMAT_TYPE_UINT;
|
||||||
@ -1101,8 +1100,8 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
|
|||||||
case FORMAT_TYPE_SHORT:
|
case FORMAT_TYPE_SHORT:
|
||||||
num = (short) va_arg(args, int);
|
num = (short) va_arg(args, int);
|
||||||
break;
|
break;
|
||||||
case FORMAT_TYPE_UINT:
|
case FORMAT_TYPE_INT:
|
||||||
num = va_arg(args, unsigned int);
|
num = (int) va_arg(args, int);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
num = va_arg(args, unsigned int);
|
num = va_arg(args, unsigned int);
|
||||||
|
Loading…
Reference in New Issue
Block a user