diff options
Diffstat (limited to 'src/library.js')
-rw-r--r-- | src/library.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js index f406f02a..8d68251f 100644 --- a/src/library.js +++ b/src/library.js @@ -4199,6 +4199,24 @@ LibraryManager.library = { return newStr; }, + strndup__deps: ['strdup'], + strndup: function(ptr, size) { + var len = String_len(ptr); + + if (size >= len) { + return _strdup(ptr); + } + + if (size < 0) { + size = 0; + } + + var newStr = _malloc(size + 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') }}}) { |