Commit 2395037e authored by Ingo Molnar's avatar Ingo Molnar

Merge branch 'core/printk' into tracing/ftrace

parents bbcd3063 39e874f8
...@@ -768,7 +768,6 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr, ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment