diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-01-30 14:30:00 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-01-30 14:30:00 -0800 |
commit | 4f531c5d1911d48b99f87b07b635fa008e08f051 (patch) | |
tree | 34418a05284cd3553f0471242feff962c167f438 /src/library_fs.js | |
parent | 2aa334869496781389ad531f1811830ca7d61799 (diff) | |
parent | 65184b40ecf8c44c7b30d77419f620966ec1ff1f (diff) |
Merge pull request #2080 from inolen/idbfs_updates
idbfs updates
Diffstat (limited to 'src/library_fs.js')
-rw-r--r-- | src/library_fs.js | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/library_fs.js b/src/library_fs.js index e6b060f6..3e1eb6e2 100644 --- a/src/library_fs.js +++ b/src/library_fs.js @@ -975,6 +975,9 @@ mergeInto(LibraryManager.library, { opts = opts || {}; opts.flags = opts.flags || 'r'; opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } var ret; var stream = FS.open(path, opts.flags); var stat = FS.stat(path); @@ -989,8 +992,6 @@ mergeInto(LibraryManager.library, { } } else if (opts.encoding === 'binary') { ret = buf; - } else { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); } FS.close(stream); return ret; @@ -999,15 +1000,16 @@ mergeInto(LibraryManager.library, { opts = opts || {}; opts.flags = opts.flags || 'w'; opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } var stream = FS.open(path, opts.flags, opts.mode); if (opts.encoding === 'utf8') { var utf8 = new Runtime.UTF8Processor(); var buf = new Uint8Array(utf8.processJSString(data)); - FS.write(stream, buf, 0, buf.length, 0); + FS.write(stream, buf, 0, buf.length, 0, opts.canOwn); } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0); - } else { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); + FS.write(stream, data, 0, data.length, 0, opts.canOwn); } FS.close(stream); }, |