diff --git a/src/browser/main.js b/src/browser/main.js index 37d4823b..23488af2 100644 --- a/src/browser/main.js +++ b/src/browser/main.js @@ -980,7 +980,7 @@ var filename = this.value.replace(/\/$/, "").split("/"); filename = filename[filename.length - 1] || "root"; - dump_file(uint8array.buffer, filename); + dump_file(uint8array, filename); this.value = ""; } else diff --git a/src/browser/starter.js b/src/browser/starter.js index 761fd0d6..a70c3ebc 100644 --- a/src/browser/starter.js +++ b/src/browser/starter.js @@ -797,10 +797,19 @@ V86Starter.prototype.read_file = function(file, callback) { fs.OpenInode(id, undefined); fs.AddEvent( - id, - function() + id, + function() { - callback(null, fs.inodedata[id]); + var data = fs.inodedata[id]; + + if(data) + { + callback(null, data.subarray(0, fs.inodes[id].size)); + } + else + { + callback(new FileNotFoundError(), null); + } } ); }