aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-05-18 21:43:48 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-05-18 21:43:48 -0700
commit8a0ad7206459a5bfb4080354db0958de6a8378ec (patch)
treee21bef4697fbc98b63217d4ca127a22a79ac00f8 /src/library.js
parent1bfe75b09760d626eb903c93f67367d456745e42 (diff)
stdio stuff
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/library.js b/src/library.js
index d5e22ade..0e413a08 100644
--- a/src/library.js
+++ b/src/library.js
@@ -275,7 +275,11 @@ var Library = {
IHEAP[_stderr] = this.prepare('<<stderr>>', null, true);
} catch(e){}
},
+ cleanFilename: function(filename) {
+ return filename.replace('./', '');
+ },
prepare: function(filename, data, print_) {
+ filename = this.cleanFilename(filename);
var stream = this.counter++;
this.streams[stream] = {
filename: filename,
@@ -289,6 +293,7 @@ var Library = {
return stream;
},
open: function(filename) {
+ filename = this.cleanFilename(filename);
var stream = _STDIO.filenames[filename];
if (!stream) {
// Not already cached; try to load it right now
@@ -489,11 +494,18 @@ var Library = {
_free(start); // FIXME: not really correct at all
},
- setvbuf: function(stream, buffer, mode, size) {
+ setbuf: function(stream, buffer) {
// just a stub
assert(!buffer);
},
+ setvbuf: 'setbuf',
+
+ access: function(filename) {
+ filename = Pointer_stringify(filename);
+ return _STDIO.open(filename) ? 0 : -1;
+ },
+
// stdlib.h
malloc: Runtime.staticAlloc,