aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
authorAleksander Guryanov <caiiiycuk@gmail.com>2012-05-28 21:35:04 +0700
committerAleksander Guryanov <caiiiycuk@gmail.com>2012-05-28 21:35:04 +0700
commit2134a33a61d9c5dd24b021ced4af38f29b6de06b (patch)
treedd23f47c459a3d7d212e37bd3016109b0476be7e /src/library.js
parent712bc9041e3470920d0db6a05e5b0af85d1b78e2 (diff)
Add implementation of strndup function and test for it
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js
index f406f02a..e49ea6da 100644
--- a/src/library.js
+++ b/src/library.js
@@ -4199,6 +4199,20 @@ LibraryManager.library = {
return newStr;
},
+ strndup__deps: ['strdup'],
+ strndup: function(ptr, size) {
+ var len = String_len(ptr);
+
+ if (size <= 0 || size >= len) {
+ return _strdup(ptr);
+ }
+
+ var newStr = _malloc(0 + 1);
+ {{{ makeCopyValues('newStr', 'ptr', 'size', 'null', null, 1) }}};
+ {{{ makeSetValue('newStr', 'size', '0', 'i8') }}};
+ return newStr;
+ },
+
strpbrk: function(ptr1, ptr2) {
var searchSet = Runtime.set.apply(null, String_copy(ptr2));
while ({{{ makeGetValue('ptr1', 0, 'i8') }}}) {