diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-08-13 14:03:21 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-08-13 14:03:21 -0700 |
commit | 173b8830def7800dc3caec992b7c7b7e2139bb73 (patch) | |
tree | e5daa39a93ef2261acfe4a49d6a8e70041d619fd | |
parent | 380bb35bfe21c99feabd9bf29e8a3156b8c22ba9 (diff) |
compare unsigned values in str[n]cmp
-rw-r--r-- | src/library.js | 4 | ||||
-rwxr-xr-x | tests/runner.py | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/library.js b/src/library.js index c6470560..a20cb03d 100644 --- a/src/library.js +++ b/src/library.js @@ -4224,8 +4224,8 @@ LibraryManager.library = { strncmp: function(px, py, n) { var i = 0; while (i < n) { - var x = {{{ makeGetValue('px', 'i', 'i8') }}}; - var y = {{{ makeGetValue('py', 'i', 'i8') }}}; + var x = {{{ makeGetValue('px', 'i', 'i8', 0, 1) }}}; + var y = {{{ makeGetValue('py', 'i', 'i8', 0, 1) }}}; if (x == y && x == 0) return 0; if (x == 0) return -1; if (y == 0) return 1; diff --git a/tests/runner.py b/tests/runner.py index 70f7ba9d..c7a53e25 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -1487,6 +1487,20 @@ c5,de,15,8a ''' self.do_run(src, '4:10,177,543,def\n4\nwowie\ntoo\n76\n5\n(null)\n/* a comment */\n// another\ntest\n', ['wowie', 'too', '74']) + def test_strcmp_uni(self): + src = ''' + #include <stdio.h> + #include <string.h> + int main() + { + char *word = "WORD"; + char *wordEntry = "Â"; + int cmp = strncmp(word, wordEntry, 2); + printf("Compare value is %d\\n", cmp); + } + ''' + self.do_run(src, 'Compare value is -1\n') + def test_strndup(self): src = ''' //--------------- |