aboutsummaryrefslogtreecommitdiffstats
path: root/vsnprintf.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-11-01 04:31:52 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-11-01 04:31:52 +0000
commitcd3445ca6e9dde2603d5a6787274b5baac487bdb (patch)
tree16c2f266e9fde28ad8509067c68c1ed9b626aedd /vsnprintf.c
parentb7d397348e6bf508bf337ec9c1c2d88d1cbfa84a (diff)
downloadruby-cd3445ca6e9dde2603d5a6787274b5baac487bdb.tar.gz
* 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
Diffstat (limited to 'vsnprintf.c')
-rw-r--r--vsnprintf.c27
1 files changed, 18 insertions, 9 deletions
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 */
}