From: "André Goddard Rosa" <andre.goddard@gmail.com>
To: Martin Schwidefsky <schwidefsky@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
linux390@de.ibm.com, Michael Holzheu <holzheu@linux.vnet.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Stoyan Gaydarov <stoyboyker@gmail.com>,
Julia Lawall <julia@diku.dk>, Jeff Dike <jdike@addtoit.com>,
James Morris <jmorris@namei.org>, WANG Cong <wangcong@zeuux.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
David Howells <dhowells@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, Alexey Dobriyan <adobriyan@gmail.com>,
Joe Perches <joe@perches.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Arjan van de Ven <arjan@linux.intel.com>,
Neil Brown <neilb@suse.de>, Alasdair G Kergon <agk@redhat.com>,
Mike Snitzer <snitzer@redhat.com>,
Mikulas Patocka <mpatocka@redhat.com>,
Jens Axboe <jens.axboe@oracle.com>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
Andre Noll <maan@systemlinux.org>,
Kyle McMartin <kyle@mcmartin.ca>, Helge Deller <deller@gmx.de>,
"James E . J . Bottomley" <jejb@parisc-linux.org>,
Roel Kluin <roel.kluin@gmail.com>,
Henrique de Moraes Holschuh <ibm-acpi@hmh.eng.br>,
Len Brown <len.brown@intel.com>, Adam Belay <abelay@mit.edu>,
Bjorn Helgaas <bjorn.helgaas@hp.com>,
Stefan Haberland <stefan.haberland@de.ibm.com>,
Stefan Weinhuber <wein@de.ibm.com>,
Richard Purdie <rpurdie@rpsys.net>,
Andrea Righi <righi.andrea@gmail.com>,
Greg Kroah-Hartman <gregkh@suse.de>,
Pavel Roskin <proski@gnu.org>,
Andrey Borzenkov <arvidjaar@mail.ru>,
Steve Dickson <steved@redhat.com>,
Trond Myklebust <Trond.Myklebust@netapp.com>,
Daire Byrne <Daire.Byrne@framestore.com>,
Al Viro <viro@zeniv.linux.org.uk>, Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger@sun.com>,
Eric Sandeen <sandeen@redhat.com>, Jan Kara <jack@suse.cz>,
Rusty Russell <rusty@rustcorp.com.au>,
Takashi Iwai <tiwai@suse.de>,
Frederic Weisbecker <fweisbec@gmail.com>,
Sitsofe Wheeler <sitsofe@yahoo.com>,
Christof Schmitt <christof.schmitt@de.ibm.com>,
Greg Banks <gnb@melbourne.sgi.com>,
Jason Baron <jbaron@redhat.com>,
"David S . Miller" <davem@davemloft.net>,
Steven Rostedt <rostedt@goodmis.org>,
Samuel Ortiz <samuel@sortiz.org>,
Patrick McHardy <kaber@trash.net>,
Jan Engelhardt <jengelh@medozas.de>,
Roman Hoog Antink <rha@open.ch>, Jaroslav Kysela <perex@perex.cz>,
linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
user-mode-linux-devel@lists.sourceforge.net,
user-mode-linux-user@lists.sourceforge.net, dm-devel@redhat.com,
linux-raid@vger.kernel.org, linux-parisc@vger.kernel.org,
ibm-acpi-devel@lists.sourceforge.net, linux-cachefs@redhat.com,
linux-ext4@vger.kernel.org, netdev@vger.kernel.org,
netfilter-devel@vger.kernel.org, netfilter@vger.kernel.org,
coreteam@netfilter.org, alsa-devel@alsa-project.org
Cc: "André Goddard Rosa" <andre.goddard@gmail.com>
Subject: [uml-devel] [PATCH v4 06/12] vsprintf: move local vars to block local vars and remove unneeded ones
Date: Sat, 7 Nov 2009 13:16:14 -0200 [thread overview]
Message-ID: <a227bedd0405bed250e6876fea5d905296d1b60e.1257602781.git.andre.goddard@gmail.com> (raw)
In-Reply-To: <cover.1257602781.git.andre.goddard@gmail.com>
In-Reply-To: <cover.1257602781.git.andre.goddard@gmail.com>
Cleanup by moving variables closer to the scope where they're used in fact.
Also, remove unneeded ones.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
---
lib/vsprintf.c | 64 ++++++++++++++++++++++++-------------------------------
1 files changed, 28 insertions(+), 36 deletions(-)
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index af79152..f703fdf 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -842,8 +842,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':
@@ -1105,8 +1105,7 @@ qualifier:
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
@@ -1125,8 +1124,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;
@@ -1150,7 +1148,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)
@@ -1169,6 +1169,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);
@@ -1413,7 +1414,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);
@@ -1439,12 +1439,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:
@@ -1478,12 +1480,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;
@@ -1556,10 +1552,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;
@@ -1589,10 +1584,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;
@@ -1616,7 +1609,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)
@@ -1634,11 +1629,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;
}
@@ -1650,11 +1645,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 = '%';
@@ -1665,15 +1655,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;
@@ -1703,8 +1693,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)
@@ -1758,7 +1749,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 */
@@ -1814,12 +1805,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':
{
--
1.6.5.2.153.g6e31f.dirty
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2009-11-07 15:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-07 15:16 [uml-devel] [PATCH v4 00/12] introduce skip_spaces(), reducing code size plus some clean-ups André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 01/12] vsprintf: factorize "(null)" string André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 02/12] vsprintf: pre-calculate final string length for later use André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 03/12] vsprintf: give it some care to please checkpatch.pl André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 04/12] vsprintf: use TOLOWER whenever possible André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 05/12] vsprintf: reduce code size by avoiding extra check André Goddard Rosa
2009-11-07 15:16 ` André Goddard Rosa [this message]
2009-11-07 15:16 ` [uml-devel] [PATCH v4 07/12] vsprintf: factor out skip_space code in a separate function André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 08/12] vsprintf: reuse almost identical simple_strtoulX() functions André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 09/12] ctype: constify read-only _ctype string André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 10/12] string: factorize skip_spaces and export it to be generally available André Goddard Rosa
2009-11-08 16:50 ` Alan Cox
2009-11-07 15:16 ` [uml-devel] [PATCH v4 11/12] string: on strstrip(), first remove leading spaces before running over str André Goddard Rosa
2009-11-07 15:16 ` [uml-devel] [PATCH v4 12/12] tree-wide: convert open calls to remove spaces to skip_spaces() lib function André Goddard Rosa
2009-11-08 18:47 ` Theodore Tso
2009-11-08 20:23 ` Julia Lawall
2009-11-08 16:05 ` [uml-devel] [dm-devel] [PATCH v4 00/12] introduce skip_spaces(), reducing code size plus some clean-ups James Bottomley
2009-11-08 16:52 ` André Goddard Rosa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a227bedd0405bed250e6876fea5d905296d1b60e.1257602781.git.andre.goddard@gmail.com \
--to=andre.goddard@gmail.com \
--cc=Daire.Byrne@framestore.com \
--cc=Trond.Myklebust@netapp.com \
--cc=abelay@mit.edu \
--cc=adilger@sun.com \
--cc=adobriyan@gmail.com \
--cc=agk@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=alsa-devel@alsa-project.org \
--cc=arjan@linux.intel.com \
--cc=arvidjaar@mail.ru \
--cc=bjorn.helgaas@hp.com \
--cc=christof.schmitt@de.ibm.com \
--cc=coreteam@netfilter.org \
--cc=davem@davemloft.net \
--cc=deller@gmx.de \
--cc=dhowells@redhat.com \
--cc=dm-devel@redhat.com \
--cc=fweisbec@gmail.com \
--cc=gnb@melbourne.sgi.com \
--cc=gregkh@suse.de \
--cc=heiko.carstens@de.ibm.com \
--cc=holzheu@linux.vnet.ibm.com \
--cc=hpa@zytor.com \
--cc=ibm-acpi-devel@lists.sourceforge.net \
--cc=ibm-acpi@hmh.eng.br \
--cc=jack@suse.cz \
--cc=jbaron@redhat.com \
--cc=jdike@addtoit.com \
--cc=jejb@parisc-linux.org \
--cc=jengelh@medozas.de \
--cc=jens.axboe@oracle.com \
--cc=jmorris@namei.org \
--cc=joe@perches.com \
--cc=julia@diku.dk \
--cc=kaber@trash.net \
--cc=kyle@mcmartin.ca \
--cc=len.brown@intel.com \
--cc=linux-cachefs@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux390@de.ibm.com \
--cc=maan@systemlinux.org \
--cc=martin.petersen@oracle.com \
--cc=mingo@redhat.com \
--cc=mpatocka@redhat.com \
--cc=neilb@suse.de \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=netfilter@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=perex@perex.cz \
--cc=proski@gnu.org \
--cc=rha@open.ch \
--cc=righi.andrea@gmail.com \
--cc=roel.kluin@gmail.com \
--cc=rostedt@goodmis.org \
--cc=rpurdie@rpsys.net \
--cc=rusty@rustcorp.com.au \
--cc=samuel@sortiz.org \
--cc=sandeen@redhat.com \
--cc=schwidefsky@de.ibm.com \
--cc=sitsofe@yahoo.com \
--cc=snitzer@redhat.com \
--cc=stefan.haberland@de.ibm.com \
--cc=steved@redhat.com \
--cc=stoyboyker@gmail.com \
--cc=tglx@linutronix.de \
--cc=tiwai@suse.de \
--cc=tytso@mit.edu \
--cc=user-mode-linux-devel@lists.sourceforge.net \
--cc=user-mode-linux-user@lists.sourceforge.net \
--cc=viro@zeniv.linux.org.uk \
--cc=wangcong@zeuux.org \
--cc=wein@de.ibm.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox