From 9d5fbcc019a802d14dcbd02c7c2a8659cc79ad55 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 20 Jun 2006 19:20:25 +0000 Subject: (openat): Use ?:, not if, to work around GCC bug 4210. --- lib/ChangeLog | 7 +++++++ lib/openat.c | 7 +++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/ChangeLog b/lib/ChangeLog index ce97a3c6d..4cf0a6dc0 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,10 @@ +2006-06-20 Paul Eggert + + * openat.c (openat): Use ?:, not if, to work around GCC bug 4210 + . + Problem reported by Denis Excoffier in + . + 2006-06-19 Jim Meyering Apply this change from gnulib: diff --git a/lib/openat.c b/lib/openat.c index 6a1b42ea6..7df52ea13 100644 --- a/lib/openat.c +++ b/lib/openat.c @@ -56,10 +56,9 @@ openat (int fd, char const *file, int flags, ...) /* If mode_t is narrower than int, use the promoted type (int), not mode_t. Use sizeof to guess whether mode_t is narrower; we don't know of any practical counterexamples. */ - if (sizeof (mode_t) < sizeof (int)) - mode = va_arg (arg, int); - else - mode = va_arg (arg, mode_t); + mode = (sizeof (mode_t) < sizeof (int) + ? va_arg (arg, int) + : va_arg (arg, mode_t)); va_end (arg); } -- cgit v1.2.3-54-g00ecf