diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-02-20 18:08:57 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-02-20 18:11:58 -0800 |
commit | eca0f2375f67575720f9476bb057379c8de34eae (patch) | |
tree | d620b04f394beeaad753b6dacf64ace7e476dccb | |
parent | af22db83d85e820642495a898cf4e176168ff20b (diff) |
tolerate negative values of precision in printf, fallback to default precision
-rw-r--r-- | src/library.js | 2 | ||||
-rw-r--r-- | tests/printf/output.txt | 1 | ||||
-rw-r--r-- | tests/printf/test.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/src/library.js b/src/library.js index c1eb2219..57023795 100644 --- a/src/library.js +++ b/src/library.js @@ -1970,7 +1970,7 @@ LibraryManager.library = { } next = {{{ makeGetValue(0, 'textIndex+1', 'i8') }}}; } - if (precision === -1) { + if (precision < 0) { precision = 6; // Standard default. precisionSet = false; } diff --git a/tests/printf/output.txt b/tests/printf/output.txt index a3baed28..14e053f6 100644 --- a/tests/printf/output.txt +++ b/tests/printf/output.txt @@ -8281,4 +8281,5 @@ ffffff8000000000 1 1.234568E+04 +1.234568E+04 no_new_line diff --git a/tests/printf/test.c b/tests/printf/test.c index adeb69db..c83d92b0 100644 --- a/tests/printf/test.c +++ b/tests/printf/test.c @@ -8286,6 +8286,7 @@ int main() { printf("%x\n", -0xFFFFFFFF); printf("\n"); printf("%*.*E\n", 10, -1, 12345.6789123); + printf("%*.*E\n", 10, -313, 12345.6789123); printf("no_new_line"); return 0; } |