summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-04-10 02:51:29 +0000
committerUlrich Drepper <drepper@redhat.com>2009-04-10 02:51:29 +0000
commite9b4d069c1897d1480655dc6f25e905b1ce749a6 (patch)
treec02171e242e9a0b11e3c3da6b30fd98ec587f59c
parent24030b0f789a2b6e2429c6158cf57d59518bcf36 (diff)
downloadglibc-e9b4d069c1897d1480655dc6f25e905b1ce749a6.tar.gz
* stdio-common/vfprintf.c (vfprintf): Slightly more compact code.
-rw-r--r--ChangeLog2
-rw-r--r--stdio-common/vfprintf.c23
-rw-r--r--sysdeps/unix/sysv/linux/preadv.c6
-rw-r--r--sysdeps/unix/sysv/linux/pwritev.c6
4 files changed, 17 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index 200c8187d1..fe0a899819 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2009-04-09 Ulrich Drepper <drepper@redhat.com>
+ * stdio-common/vfprintf.c (vfprintf): Slightly more compact code.
+
* sysdeps/unix/sysv/linux/preadv.c: Avoid prototype for static
function if it is not defined. Add some necessary casts.
* sysdeps/unix/sysv/linux/pwritev.c: Likewise.
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index 5d5bb5e578..819865f61e 100644
--- a/stdio-common/vfprintf.c
+++ b/stdio-common/vfprintf.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008
- Free Software Foundation, Inc.
+/* Copyright (C) 1991-2008, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1743,13 +1742,21 @@ do_positional:
args_value[cnt].mem = va_arg (ap_save, type); \
break
- T (PA_CHAR, pa_int, int); /* Promoted. */
T (PA_WCHAR, pa_wchar, wint_t);
- T (PA_INT|PA_FLAG_SHORT, pa_int, int); /* Promoted. */
+ case PA_CHAR: /* Promoted. */
+ case PA_INT|PA_FLAG_SHORT: /* Promoted. */
+#if LONG_MAX == INT_MAX
+ case PA_INT|PA_FLAG_LONG:
+#endif
T (PA_INT, pa_int, int);
- T (PA_INT|PA_FLAG_LONG, pa_long_int, long int);
+#if LONG_MAX == LONG_LONG_MAX
+ case PA_INT|PA_FLAG_LONG:
+#endif
T (PA_INT|PA_FLAG_LONG_LONG, pa_long_long_int, long long int);
- T (PA_FLOAT, pa_double, double); /* Promoted. */
+#if LONG_MAX != INT_MAX && LONG_MAX != LONG_LONG_MAX
+# error "he?"
+#endif
+ case PA_FLOAT: /* Promoted. */
T (PA_DOUBLE, pa_double, double);
case PA_DOUBLE|PA_FLAG_LONG_DOUBLE:
if (__ldbl_is_dbl)
@@ -1760,8 +1767,8 @@ do_positional:
else
args_value[cnt].pa_long_double = va_arg (ap_save, long double);
break;
- T (PA_STRING, pa_string, const char *);
- T (PA_WSTRING, pa_wstring, const wchar_t *);
+ case PA_STRING: /* All pointers are the same */
+ case PA_WSTRING: /* All pointers are the same */
T (PA_POINTER, pa_pointer, void *);
#undef T
default:
diff --git a/sysdeps/unix/sysv/linux/preadv.c b/sysdeps/unix/sysv/linux/preadv.c
index 8c89d9200e..0d4a6c3803 100644
--- a/sysdeps/unix/sysv/linux/preadv.c
+++ b/sysdeps/unix/sysv/linux/preadv.c
@@ -29,12 +29,6 @@
#include <sys/syscall.h>
#include <kernel-features.h>
-#ifdef __x86_64__
-#define __NR_preadv 295
-#elif defined __i386__
-#define __NR_preadv 333
-#endif
-
#ifndef PREADV
# define PREADV preadv
diff --git a/sysdeps/unix/sysv/linux/pwritev.c b/sysdeps/unix/sysv/linux/pwritev.c
index 1916abe485..5c30eae51f 100644
--- a/sysdeps/unix/sysv/linux/pwritev.c
+++ b/sysdeps/unix/sysv/linux/pwritev.c
@@ -29,12 +29,6 @@
#include <sys/syscall.h>
#include <kernel-features.h>
-#ifdef __x86_64__
-#define __NR_pwritev 296
-#elif defined __i386__
-#define __NR_pwritev 334
-#endif
-
#ifndef PWRITEV
# define PWRITEV pwritev