diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-02-16 14:50:01 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-02-16 14:50:01 +0900 |
| commit | 9248cdd6cc6dc177adfc417fb2b6765af0f2a12c (patch) | |
| tree | 681d74feefdbde61b58c760490276bba4ddaf19d /src/fmt_fp.c | |
| parent | a88a20d51f5877b231877261d29fee9d66a20214 (diff) | |
| download | mruby-9248cdd6cc6dc177adfc417fb2b6765af0f2a12c.tar.gz mruby-9248cdd6cc6dc177adfc417fb2b6765af0f2a12c.zip | |
silence warnings in fmt_fp.c
Diffstat (limited to 'src/fmt_fp.c')
| -rw-r--r-- | src/fmt_fp.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/fmt_fp.c b/src/fmt_fp.c index 9345c31d1..451d691d8 100644 --- a/src/fmt_fp.c +++ b/src/fmt_fp.c @@ -3,7 +3,7 @@ Most code in this file originates from musl (src/stdio/vfprintf.c) which, just like mruby itself, is licensed under the MIT license. -Copyright © 2005-2014 Rich Felker, et al. +Copyright (c) 2005-2014 Rich Felker, et al. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -59,15 +59,16 @@ out(struct fmt_args *f, const char *s, size_t l) mrb_str_cat(f->mrb, f->str, s, l); } +#define PAD_SIZE 256 static void pad(struct fmt_args *f, char c, int w, int l, int fl) { - char pad[256]; + char pad[PAD_SIZE]; if (fl & (LEFT_ADJ | ZERO_PAD) || l >= w) return; l = w - l; - memset(pad, c, l>sizeof pad ? sizeof pad : l); - for (; l >= sizeof pad; l -= sizeof pad) - out(f, pad, sizeof pad); + memset(pad, c, l>PAD_SIZE ? PAD_SIZE : l); + for (; l >= PAD_SIZE; l -= PAD_SIZE) + out(f, pad, PAD_SIZE); out(f, pad, l); } @@ -203,7 +204,7 @@ fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t) uint32_t carry=0, *b; int sh=MIN(9,-e2), need=1+(p+LDBL_MANT_DIG/3+8)/9; for (d=a; d<z; d++) { - uint32_t rm = *d & (1<<sh)-1; + uint32_t rm = *d & ((1<<sh)-1); *d = (*d>>sh) + carry; carry = (1000000000>>sh) * rm; } |
