diff options
author | max99x <max99x@gmail.com> | 2011-08-27 05:32:17 +0300 |
---|---|---|
committer | max99x <max99x@gmail.com> | 2011-08-27 05:32:17 +0300 |
commit | 58de1ee09b3502125a149eb2b722db8609142d4e (patch) | |
tree | 5a4a9ed2a4b775ee494c18ecb21578e4ae2ba334 | |
parent | 40903be0adbf69ce43c0461bc33883cb401a7fe3 (diff) |
Fixed missing path in streams of files created using open().
-rw-r--r-- | src/library.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/library.js b/src/library.js index b83a79e1..61b3d3da 100644 --- a/src/library.js +++ b/src/library.js @@ -872,6 +872,7 @@ LibraryManager.library = { return -1; } var target = path.object || null; + var finalPath; // Verify the file exists, create if needed and allowed. if (target) { @@ -895,6 +896,7 @@ LibraryManager.library = { return -1; } } + finalPath = path.path; } else { if (!isCreate) { ___setErrNo(ERRNO_CODES.ENOENT); @@ -906,6 +908,7 @@ LibraryManager.library = { } target = FS.createDataFile(path.parentObject, path.name, [], mode & 0x100, mode & 0x80); // S_IRUSR, S_IWUSR. + finalPath = path.parentPath + '/' + path.name; } // Actually create an open stream. var id = FS.streams.length; @@ -917,7 +920,7 @@ LibraryManager.library = { var contents = []; for (var key in target.contents) contents.push(key); FS.streams[id] = { - path: path.path, + path: finalPath, object: target, // An index into contents. Special values: -2 is ".", -1 is "..". position: -2, @@ -936,7 +939,7 @@ LibraryManager.library = { }; } else { FS.streams[id] = { - path: path.path, + path: finalPath, object: target, position: 0, isRead: isRead, |