summaryrefslogtreecommitdiffstats
path: root/missing/vsnprintf.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-06 08:59:41 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-06 08:59:41 +0000
commit4ff61a2d2379be4d444e98f1f6af6409b47d148e (patch)
tree2f7eca34d979d1873f34daba9cbdac950777184a /missing/vsnprintf.c
parent6b11896b924eb38b718ef0c5c5d02c75b1bb4cf5 (diff)
downloadruby-4ff61a2d2379be4d444e98f1f6af6409b47d148e.tar.gz
ruby-4ff61a2d2379be4d444e98f1f6af6409b47d148e.tar.xz
ruby-4ff61a2d2379be4d444e98f1f6af6409b47d148e.zip
* gc.c (ruby_xmalloc): remove MALLOC_LIMIT to avoid frequent
garabage collection. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'missing/vsnprintf.c')
-rw-r--r--missing/vsnprintf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/missing/vsnprintf.c b/missing/vsnprintf.c
index b21261d7d..266290a13 100644
--- a/missing/vsnprintf.c
+++ b/missing/vsnprintf.c
@@ -1018,8 +1018,11 @@ cvt(value, ndigits, flags, sign, decpt, ch, length)
if (value < 0) {
value = -value;
*sign = '-';
- } else
- *sign = '\000';
+ } else if (value == 0.0 && 1.0/value < 0) {
+ *sign = '-';
+ } else {
+ *sign = '\000';
+ }
digits = BSD__dtoa(value, mode, ndigits, decpt, &dsgn, &rve);
if (flags & ALT) { /* Print trailing zeros */
bp = digits + ndigits;