diff options
author | Anthony Pesch <inolen@gmail.com> | 2013-08-08 18:07:46 -0700 |
---|---|---|
committer | Anthony Pesch <inolen@gmail.com> | 2013-08-08 18:08:54 -0700 |
commit | bd1d02e02cf0f39c8d7f672520910714d1c2d4e5 (patch) | |
tree | aa4bf75712b70faa9ff45661c7de47b084890d2c | |
parent | a1b5846d8edf2ddf3fe970715072584fc6cd49dd (diff) |
converted Object.defineProperty calls to use Object.defineProperties in order to make closure happy
-rw-r--r-- | src/library.js | 53 | ||||
-rw-r--r-- | src/library_sdl.js | 5 |
2 files changed, 33 insertions, 25 deletions
diff --git a/src/library.js b/src/library.js index 591d4350..69f413d2 100644 --- a/src/library.js +++ b/src/library.js @@ -135,17 +135,24 @@ LibraryManager.library = { // compatibility var readMode = {{{ cDefine('S_IRUGO') }}} | {{{ cDefine('S_IXUGO') }}}; var writeMode = {{{ cDefine('S_IWUGO') }}}; - Object.defineProperty(node, 'read', { - get: function() { return (node.mode & readMode) === readMode; }, - set: function(val) { val ? node.mode |= readMode : node.mode &= ~readMode; } - }); - Object.defineProperty(node, 'write', { - get: function() { return (node.mode & writeMode) === writeMode; }, - set: function(val) { val ? node.mode |= writeMode : node.mode &= ~writeMode; } + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(node, { + read: { + get: function() { return (node.mode & readMode) === readMode; }, + set: function(val) { val ? node.mode |= readMode : node.mode &= ~readMode; } + }, + write: { + get: function() { return (node.mode & writeMode) === writeMode; }, + set: function(val) { val ? node.mode |= writeMode : node.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(node.mode); }, + }, + isDevice: { + get: function() { return FS.isChrdev(node.mode); }, + }, }); - // TODO add: - // isFolder - // isDevice FS.hashAddNode(node); return node; }, @@ -421,18 +428,20 @@ LibraryManager.library = { var fd = FS.nextfd(fd_start, fd_end); stream.fd = fd; // compatibility - Object.defineProperty(stream, 'object', { - get: function() { return stream.node; }, - set: function(val) { stream.node = val; } - }); - Object.defineProperty(stream, 'isRead', { - get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_WRONLY') }}}; } - }); - Object.defineProperty(stream, 'isWrite', { - get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_RDONLY') }}}; } - }); - Object.defineProperty(stream, 'isAppend', { - get: function() { return (stream.flags & {{{ cDefine('O_APPEND') }}}); } + Object.defineProperties(stream, { + object: { + get: function() { return stream.node; }, + set: function(val) { stream.node = val; } + }, + isRead: { + get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_WRONLY') }}}; } + }, + isWrite: { + get: function() { return (stream.flags & {{{ cDefine('O_ACCMODE') }}}) !== {{{ cDefine('O_RDONLY') }}}; } + }, + isAppend: { + get: function() { return (stream.flags & {{{ cDefine('O_APPEND') }}}); } + } }); FS.streams[fd] = stream; return stream; diff --git a/src/library_sdl.js b/src/library_sdl.js index 64984628..24f3de1b 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -1509,8 +1509,7 @@ var LibrarySDL = { var bytes; if (rwops.filename !== undefined) { - filename = rwops.filename; - filename = FS.standardizePath(filename); + filename = PATH.resolve(rwops.filename); var raw = Module["preloadedAudios"][filename]; if (!raw) { if (raw === null) Module.printErr('Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!'); @@ -1523,7 +1522,7 @@ var LibrarySDL = { // We found the file. Load the contents if (fileObject && !fileObject.isFolder && fileObject.read) { - bytes = fileObject.contents + bytes = fileObject.contents; } else { return 0; } |