aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-11-20 14:40:07 +0100
committerAlon Zakai <alonzakai@gmail.com>2012-11-20 14:40:07 +0100
commitc7cfb44f8a368773059421e31c4e667d1047e955 (patch)
tree8d9aea464f1b1fc414fbd719ad877cf3a8bb2f6e /src/library.js
parent4a9e85017527bbe8f0f3bd47ed5b2b61d410ac44 (diff)
fx fscanf
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/library.js b/src/library.js
index a4d1f54c..d4eeb353 100644
--- a/src/library.js
+++ b/src/library.js
@@ -3454,8 +3454,9 @@ LibraryManager.library = {
// int fscanf(FILE *restrict stream, const char *restrict format, ... );
// http://pubs.opengroup.org/onlinepubs/000095399/functions/scanf.html
if (FS.streams[stream]) {
- var get = function() { return _fgetc(stream); };
- var unget = function(c) { return _ungetc(c, stream); };
+ var stack = [];
+ var get = function() { var ret = _fgetc(stream); stack.push(ret); return ret };
+ var unget = function(c) { return _ungetc(stack.pop(), stream) };
return __scanString(format, get, unget, varargs);
} else {
return -1;