aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library.js6
-rw-r--r--src/preamble.js3
-rw-r--r--tests/files.cpp3
3 files changed, 9 insertions, 3 deletions
diff --git a/src/library.js b/src/library.js
index 97f7f61e..c346dd41 100644
--- a/src/library.js
+++ b/src/library.js
@@ -466,6 +466,7 @@ var Library = {
STDIO.write(stream, Module._fputc_ptr, 1);
},
+ getc__deps: ['$STDIO'],
getc: function(file) {
if (!Module._getc_ptr) Module._getc_ptr = _malloc(1);
var ret = STDIO.read(file, Module._getc_ptr, 1);
@@ -475,6 +476,11 @@ var Library = {
getc_unlocked: 'getc',
_IO_getc: 'getc',
+ getchar__deps: ['getc'],
+ getchar: function() {
+ return _getc(_stdin);
+ },
+
ungetc: function(chr, stream) {
return chr;
},
diff --git a/src/preamble.js b/src/preamble.js
index e7cbcce6..8cf87bfd 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -588,11 +588,10 @@ if (!this['read']) {
function readBinary(filename) {
var stringy = read(filename);
- var data = new Array(stringy.length+1);
+ var data = new Array(stringy.length);
for (var i = 0; i < stringy.length; i++) {
data[i] = stringy.charCodeAt(i) & 0xff;
}
- data[stringy.length] = 0;
return data;
}
diff --git a/tests/files.cpp b/tests/files.cpp
index 202c03bb..39f9e61a 100644
--- a/tests/files.cpp
+++ b/tests/files.cpp
@@ -52,7 +52,8 @@ int main()
FILE *other = fopen("test.file", "r");
assert(other);
char otherData[1000];
- fread(otherData, 1, 10, other);
+ num = fread(otherData, 1, 9, other);
+ otherData[num] = 0;
fclose(other);
printf("other=%s.\n", otherData);