diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-02-05 21:48:26 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-02-05 21:48:26 -0800 |
commit | 2dfe0ad02c8d84d5d0c22515422d422e8ca7a347 (patch) | |
tree | 1ec8880d2048b803bce23c2c80cc80f79878b6f9 | |
parent | 78a230ab665daad0fe11d40bdaca1c995fbe9add (diff) |
fix bug with sscanf on negative floats
-rw-r--r-- | src/library.js | 2 | ||||
-rwxr-xr-x | tests/runner.py | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/library.js b/src/library.js index 4096ba75..6385507c 100644 --- a/src/library.js +++ b/src/library.js @@ -2177,7 +2177,7 @@ LibraryManager.library = { // ========================================================================== _isFloat: function(text) { - return !!(/^[+]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?$/.exec(text)); + return !!(/^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?$/.exec(text)); }, // TODO: Document. diff --git a/tests/runner.py b/tests/runner.py index a1fa8690..044e5cf2 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -3289,13 +3289,16 @@ at function.:blag printf("%f, %f\n", atof("1.234567"), atof("cheez")); + float a = -1; + sscanf("-3.03", "%f", &a); + printf("%.4f\n", a); + return 0; } ''' - self.do_run(src, 'en-us : 2*en-r : 99*en : 3*1.234567, 0.000000', - output_nicerizer = lambda x: x.replace('\n', '*')) + self.do_run(src, 'en-us : 2\nen-r : 99\nen : 3\n1.234567, 0.000000\n-3.0300') - # Part 2: doubles (issue 148) + # Part 2: doubles if Settings.USE_TYPED_ARRAYS == 2: for ftype in ['float', 'double']: src = r''' |