aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2013-10-01 14:41:23 +0700
committerBruce Mitchener <bruce.mitchener@gmail.com>2013-10-01 14:41:23 +0700
commit06a06823b740489674b99757ffaa860378e06fb3 (patch)
tree2dc5366850081d36b0d0f30e11e0d77ba24c31c5 /src
parent0a8f236b9ebc62b8c6fffd2f6ebdff577a407a0b (diff)
Break up mkstemp impl to provide mktemp impl.
The libcxx test suite wants mktemp(), so provide it by pulling out some of the internals of mkstemp().
Diffstat (limited to 'src')
-rw-r--r--src/library.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/library.js b/src/library.js
index 02981a80..3e69cc08 100644
--- a/src/library.js
+++ b/src/library.js
@@ -459,14 +459,17 @@ LibraryManager.library = {
// http://pubs.opengroup.org/onlinepubs/009695399/functions/creat.html
return _open(path, {{{ cDefine('O_WRONLY') }}} | {{{ cDefine('O_CREAT') }}} | {{{ cDefine('O_TRUNC') }}}, allocate([mode, 0, 0, 0], 'i32', ALLOC_STACK));
},
- mkstemp__deps: ['creat'],
- mkstemp: function(template) {
- if (!_mkstemp.counter) _mkstemp.counter = 0;
- var c = (_mkstemp.counter++).toString();
+ mktemp: function(template) {
+ if (!_mktemp.counter) _mktemp.counter = 0;
+ var c = (_mktemp.counter++).toString();
var rep = 'XXXXXX';
while (c.length < rep.length) c = '0' + c;
writeArrayToMemory(intArrayFromString(c), template + Pointer_stringify(template).indexOf(rep));
- return _creat(template, 0600);
+ return template;
+ },
+ mkstemp__deps: ['creat', 'mktemp'],
+ mkstemp: function(template) {
+ return _creat(_mktemp(template), 0600);
},
fcntl__deps: ['$FS', '__setErrNo', '$ERRNO_CODES'],
fcntl: function(fildes, cmd, varargs, dup2) {