[PATCH v3 4/7] vsprintf: use TOLOWER whenever possible

View: New views
1 Messages — Rating Filter:   Alert me  

[PATCH v3 4/7] vsprintf: use TOLOWER whenever possible

by Andre Goddard Rosa :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

From: André Goddard Rosa <andre.goddard@...>
Date: Tue, 3 Nov 2009 10:48:25 -0200
Subject: [PATCH v3 4/7] vsprintf: use TOLOWER whenever possible
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It decreases code size as well:
   text    data     bss     dec     hex filename
  15767       0       8   15775    3d9f lib/vsprintf.o-before
  15735       0       8   15743    3d7f lib/vsprintf.o-TOLOWER

Signed-off-by: André Goddard Rosa <andre.goddard@...>
Acked-by: Frederic Weisbecker <fweisbec@...>
---
 lib/vsprintf.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 00153c5..14e4197 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -983,8 +983,8 @@ precision:
 qualifier:
  /* get the conversion qualifier */
  spec->qualifier = -1;
- if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' ||
-    *fmt == 'Z' || *fmt == 'z' || *fmt == 't') {
+ if (*fmt == 'h' || TOLOWER(*fmt) == 'l' ||
+    TOLOWER(*fmt) == 'z' || *fmt == 't') {
  spec->qualifier = *fmt++;
  if (unlikely(spec->qualifier == *fmt)) {
  if (spec->qualifier == 'l') {
@@ -1051,7 +1051,7 @@ qualifier:
  spec->type = FORMAT_TYPE_LONG;
  else
  spec->type = FORMAT_TYPE_ULONG;
- } else if (spec->qualifier == 'Z' || spec->qualifier == 'z') {
+ } else if (TOLOWER(spec->qualifier) == 'z') {
  spec->type = FORMAT_TYPE_SIZE_T;
  } else if (spec->qualifier == 't') {
  spec->type = FORMAT_TYPE_PTRDIFF;
@@ -1198,8 +1198,7 @@ int vsnprintf(char *buf, size_t size, const char
*fmt, va_list args)
  if (qualifier == 'l') {
  long *ip = va_arg(args, long *);
  *ip = (str - buf);
- } else if (qualifier == 'Z' ||
- qualifier == 'z') {
+ } else if (TOLOWER(qualifier) == 'z') {
  size_t *ip = va_arg(args, size_t *);
  *ip = (str - buf);
  } else {
@@ -1490,7 +1489,7 @@ do { \
  void *skip_arg;
  if (qualifier == 'l')
  skip_arg = va_arg(args, long *);
- else if (qualifier == 'Z' || qualifier == 'z')
+ else if (TOLOWER(qualifier) == 'z')
  skip_arg = va_arg(args, size_t *);
  else
  skip_arg = va_arg(args, int *);
@@ -1801,8 +1800,8 @@ int vsscanf(const char *buf, const char *fmt,
va_list args)

  /* get conversion qualifier */
  qualifier = -1;
- if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' ||
-    *fmt == 'Z' || *fmt == 'z') {
+ if (*fmt == 'h' || TOLOWER(*fmt) == 'l' ||
+    TOLOWER(*fmt) == 'z') {
  qualifier = *fmt++;
  if (unlikely(qualifier == *fmt)) {
  if (qualifier == 'h') {
--
1.6.5.2.143.g8cc62.dirty
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/