From cd3445ca6e9dde2603d5a6787274b5baac487bdb Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 1 Nov 2011 04:31:52 +0000 Subject: * vsnprintf.c (BSD_vfprintf): support 'll' prefix. * vsnprintf.c (__sfeof): rename to avoid the collision with NetBSD's one. * vsnprintf.c (__sferror): ditto. * vsnprintf.c (__sclearerr): ditto. * vsnprintf.c (__sfileno): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vsnprintf.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'vsnprintf.c') diff --git a/vsnprintf.c b/vsnprintf.c index 79bde9f485..5df4ffae6d 100644 --- a/vsnprintf.c +++ b/vsnprintf.c @@ -206,20 +206,20 @@ typedef struct __sFILE { #define EOF (-1) -#define __sfeof(p) (((p)->_flags & __SEOF) != 0) -#define __sferror(p) (((p)->_flags & __SERR) != 0) -#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) -#define __sfileno(p) ((p)->_file) +#define BSD__sfeof(p) (((p)->_flags & __SEOF) != 0) +#define BSD__sferror(p) (((p)->_flags & __SERR) != 0) +#define BSD__sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) +#define BSD__sfileno(p) ((p)->_file) #undef feof #undef ferror #undef clearerr -#define feof(p) __sfeof(p) -#define ferror(p) __sferror(p) -#define clearerr(p) __sclearerr(p) +#define feof(p) BSD__sfeof(p) +#define ferror(p) BSD__sferror(p) +#define clearerr(p) BSD__sclearerr(p) #ifndef _ANSI_SOURCE -#define fileno(p) __sfileno(p) +#define fileno(p) BSD__sfileno(p) #endif @@ -745,7 +745,16 @@ reswitch: switch (ch) { case 'z': #endif case 'l': +#ifdef _HAVE_SANE_QUAD_ + if (*fmt == 'l') { + fmt++; + flags |= QUADINT; + } else { + flags |= LONGINT; + } +#else flags |= LONGINT; +#endif goto rflag; #ifdef _HAVE_SANE_QUAD_ #if SIZEOF_PTRDIFF_T == SIZEOF_LONG_LONG @@ -1158,7 +1167,7 @@ long_len: done: FLUSH(); error: - return (__sferror(fp) ? EOF : ret); + return (BSD__sferror(fp) ? EOF : ret); /* NOTREACHED */ } -- cgit v1.2.3