Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/utils/platforms/rhino/bootstrap.js
diff options
context:
space:
mode:
Diffstat (limited to 'utils/platforms/rhino/bootstrap.js')
-rwxr-xr-xutils/platforms/rhino/bootstrap.js61
1 files changed, 7 insertions, 54 deletions
diff --git a/utils/platforms/rhino/bootstrap.js b/utils/platforms/rhino/bootstrap.js
index d993810..4c19cb6 100755
--- a/utils/platforms/rhino/bootstrap.js
+++ b/utils/platforms/rhino/bootstrap.js
@@ -34,61 +34,12 @@
};
var read = function (path) {
- var path = new java.io.File(path);
-
- if (!path.isFile())
- throw new Error(path + ' does not exist.');
-
- var stream = new java.io.FileInputStream(path);
+ var path = new java.io.File(path),
+ stream = new java.io.FileInputStream(path);
try {
-
- var length = 1025;
- var index = 0;
- var total = 0;
- var buffer;
- var buffers = [];
-
- do {
- if (buffer === undefined)
- buffer = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, length);
- var read = stream.read(buffer, index, buffer.length - index);
- if (read < 0)
- break;
- index += read;
- total += read;
- if (index >= buffer.length) {
- buffers.push(buffer);
- buffer = undefined;
- index = 0;
- length *= 2;
- }
- //print("read="+read+" index="+index+" total="+total+" length="+length+" buffers.length="+buffers.length);
- } while (read > 0);
-
- var resultBuffer, resultLength;
- if (buffers.length === 1 && index === 0) {
- resultBuffer = buffers[0];
- resultLength = resultBuffer.length;
- } else {
- resultBuffer = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, total),
- resultLength = 0;
- for (var i = 0; i < buffers.length; i++) {
- var buf = buffers[i];
- java.lang.System.arraycopy(buf, 0, resultBuffer, resultLength, buf.length);
- resultLength += buf.length;
- }
- if (index > 0) {
- java.lang.System.arraycopy(buffer, 0, resultBuffer, resultLength, index);
- resultLength += index;
- }
- }
-
- if (total != resultLength || total !== resultBuffer.length)
- throw new Error("IO.read sanity check failed: total="+total+" resultLength="+resultLength+" resultBuffer.length="+resultBuffer.length);
-
- var result = String(new java.lang.String(resultBuffer, 'UTF-8'));
- return result;
-
+ var buffer = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, path.length());
+ stream.read(buffer);
+ return String(new java.lang.String(buffer, "UTF-8"));
} finally {
stream.close();
}
@@ -129,12 +80,14 @@
var debug = +String(Packages.java.lang.System.getenv("NARWHAL_DEBUG"));
var verbose = +String(Packages.java.lang.System.getenv("NARWHAL_VERBOSE"));
+ var os = String(Packages.java.lang.System.getProperty("os.name"));
narwhal({
global: global,
evalGlobal: evalGlobal,
platform: 'rhino',
platforms: ['rhino', 'default'],
+ os: os,
print: print,
fs: {
read: read,