Skip to content

Commit

Permalink
vsprintf: move local vars to block local vars and remove unneeded ones
Browse files Browse the repository at this point in the history
Cleanup by moving variables closer to the scope where they're used in fact.
Also, remove unneeded ones.

Signed-off-by: André Goddard Rosa <[email protected]>
Acked-by: Frederic Weisbecker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
andre-rosa authored and torvalds committed Dec 15, 2009
1 parent b5ff992 commit d4be151
Showing 1 changed file with 28 additions and 36 deletions.
64 changes: 28 additions & 36 deletions lib/vsprintf.c
Original file line number Diff line number Diff line change
Expand Up @@ -892,8 +892,8 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr,
case 'F':
case 'f':
ptr = dereference_function_descriptor(ptr);
case 's':
/* Fallthrough */
case 's':
case 'S':
return symbol_string(buf, end, ptr, spec, *fmt);
case 'R':
Expand Down Expand Up @@ -1156,8 +1156,7 @@ static int format_decode(const char *fmt, struct printf_spec *spec)
int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
{
unsigned long long num;
char *str, *end, c;
int read;
char *str, *end;
struct printf_spec spec = {0};

/* Reject out-of-range values early. Large positive sizes are
Expand All @@ -1176,8 +1175,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)

while (*fmt) {
const char *old_fmt = fmt;

read = format_decode(fmt, &spec);
int read = format_decode(fmt, &spec);

fmt += read;

Expand All @@ -1201,7 +1199,9 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
spec.precision = va_arg(args, int);
break;

case FORMAT_TYPE_CHAR:
case FORMAT_TYPE_CHAR: {
char c;

if (!(spec.flags & LEFT)) {
while (--spec.field_width > 0) {
if (str < end)
Expand All @@ -1220,6 +1220,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
++str;
}
break;
}

case FORMAT_TYPE_STR:
str = string(str, end, va_arg(args, char *), spec);
Expand Down Expand Up @@ -1464,7 +1465,6 @@ int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args)
{
struct printf_spec spec = {0};
char *str, *end;
int read;

str = (char *)bin_buf;
end = (char *)(bin_buf + size);
Expand All @@ -1490,12 +1490,14 @@ do { \
} while (0)

while (*fmt) {
read = format_decode(fmt, &spec);
int read = format_decode(fmt, &spec);

fmt += read;

switch (spec.type) {
case FORMAT_TYPE_NONE:
case FORMAT_TYPE_INVALID:
case FORMAT_TYPE_PERCENT_CHAR:
break;

case FORMAT_TYPE_WIDTH:
Expand Down Expand Up @@ -1528,12 +1530,6 @@ do { \
fmt++;
break;

case FORMAT_TYPE_PERCENT_CHAR:
break;

case FORMAT_TYPE_INVALID:
break;

case FORMAT_TYPE_NRCHARS: {
/* skip %n 's argument */
int qualifier = spec.qualifier;
Expand Down Expand Up @@ -1606,10 +1602,9 @@ EXPORT_SYMBOL_GPL(vbin_printf);
*/
int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
{
unsigned long long num;
char *str, *end, c;
const char *args = (const char *)bin_buf;
struct printf_spec spec = {0};
char *str, *end;
const char *args = (const char *)bin_buf;

if (WARN_ON_ONCE((int) size < 0))
return 0;
Expand Down Expand Up @@ -1639,10 +1634,8 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
}

while (*fmt) {
int read;
const char *old_fmt = fmt;

read = format_decode(fmt, &spec);
int read = format_decode(fmt, &spec);

fmt += read;

Expand All @@ -1666,7 +1659,9 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
spec.precision = get_arg(int);
break;

case FORMAT_TYPE_CHAR:
case FORMAT_TYPE_CHAR: {
char c;

if (!(spec.flags & LEFT)) {
while (--spec.field_width > 0) {
if (str < end)
Expand All @@ -1684,11 +1679,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
++str;
}
break;
}

case FORMAT_TYPE_STR: {
const char *str_arg = args;
size_t len = strlen(str_arg);
args += len + 1;
args += strlen(str_arg) + 1;
str = string(str, end, (char *)str_arg, spec);
break;
}
Expand All @@ -1700,11 +1695,6 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
break;

case FORMAT_TYPE_PERCENT_CHAR:
if (str < end)
*str = '%';
++str;
break;

case FORMAT_TYPE_INVALID:
if (str < end)
*str = '%';
Expand All @@ -1715,15 +1705,15 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
/* skip */
break;

default:
default: {
unsigned long long num;

switch (spec.type) {

case FORMAT_TYPE_LONG_LONG:
num = get_arg(long long);
break;
case FORMAT_TYPE_ULONG:
num = get_arg(unsigned long);
break;
case FORMAT_TYPE_LONG:
num = get_arg(unsigned long);
break;
Expand Down Expand Up @@ -1753,8 +1743,9 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
}

str = number(str, end, num, spec);
}
}
} /* default: */
} /* switch(spec.type) */
} /* while(*fmt) */

if (size > 0) {
if (str < end)
Expand Down Expand Up @@ -1808,7 +1799,7 @@ int vsscanf(const char *buf, const char *fmt, va_list args)
char digit;
int num = 0;
int qualifier, base, field_width;
int is_sign = 0;
bool is_sign;

while (*fmt && *str) {
/* skip any white space in format */
Expand Down Expand Up @@ -1864,12 +1855,13 @@ int vsscanf(const char *buf, const char *fmt, va_list args)
}
}
}
base = 10;
is_sign = 0;

if (!*fmt || !*str)
break;

base = 10;
is_sign = 0;

switch (*fmt++) {
case 'c':
{
Expand Down

0 comments on commit d4be151

Please sign in to comment.