diff options
| author | Franklin Wei <git@fwei.tk> | 2017-04-29 18:21:56 -0400 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2017-04-29 18:24:42 -0400 |
| commit | 881746789a489fad85aae8317555f73dbe261556 (patch) | |
| tree | cec2946362c4698c8db3c10f3242ef546c2c22dd /apps/plugins/puzzles/rbwrappers.c | |
| parent | 03dd4b92be7dcd5c8ab06da3810887060e06abd5 (diff) | |
| download | rockbox-881746789a489fad85aae8317555f73dbe261556.zip rockbox-881746789a489fad85aae8317555f73dbe261556.tar.gz rockbox-881746789a489fad85aae8317555f73dbe261556.tar.bz2 rockbox-881746789a489fad85aae8317555f73dbe261556.tar.xz | |
puzzles: refactor and resync with upstream
This brings puzzles up-to-date with upstream revision
2d333750272c3967cfd5cd3677572cddeaad5932, though certain changes made
by me, including cursor-only Untangle and some compilation fixes
remain. Upstream code has been moved to its separate subdirectory and
future syncs can be done by simply copying over the new sources.
Change-Id: Ia6506ca5f78c3627165ea6791d38db414ace0804
Diffstat (limited to 'apps/plugins/puzzles/rbwrappers.c')
| -rw-r--r-- | apps/plugins/puzzles/rbwrappers.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/apps/plugins/puzzles/rbwrappers.c b/apps/plugins/puzzles/rbwrappers.c index e595cf9..4fbfdc4 100644 --- a/apps/plugins/puzzles/rbwrappers.c +++ b/apps/plugins/puzzles/rbwrappers.c @@ -1346,9 +1346,12 @@ double scalbn_wrapper (double x, int n) if (k > 0) /* normal result */ {__HI(x) = (hx&0x800fffff)|(k<<20); return x;} if (k <= -54) + { if (n > 50000) /* in case integer overflow in n+k */ return huge*copysign_wrapper(huge,x); /*overflow*/ - else return tiny*copysign_wrapper(tiny,x); /*underflow*/ + else + return tiny*copysign_wrapper(tiny,x); /*underflow*/ + } k += 54; /* subnormal result */ __HI(x) = (hx&0x800fffff)|(k<<20); return x*twom54; @@ -1608,18 +1611,6 @@ static void bcopy_wrapper(const void *src, void *dst, size_t n) } int -sscanf_wrapper(const char *ibuf, const char *fmt, ...) -{ - va_list ap; - int ret; - - va_start(ap, fmt); - ret = rb_vsscanf(ibuf, fmt, ap); - va_end(ap); - return(ret); -} - -int rb_vsscanf(const char *inp, char const *fmt0, va_list ap) { int inr; @@ -2065,6 +2056,18 @@ match_failure: return (nassigned); } +int +sscanf_wrapper(const char *ibuf, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = rb_vsscanf(ibuf, fmt, ap); + va_end(ap); + return(ret); +} + /* * Fill in the given table from the scanset at the given format * (just after `['). Return a pointer to the character past the |