summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2011-07-08 17:08:52 -0700
committerRyan Dahl <ry@tinyclouds.org>2011-07-08 17:08:52 -0700
commit91f1b250ecb4fb8151cd17423dd4460652d0ce97 (patch)
tree03efbc7036df518c7a3fbab5a7303cdcd497a1db /lib
parente5564a3f29e0a818832a97c7c3b28d7c8b3b0460 (diff)
downloadandroid-node-v8-91f1b250ecb4fb8151cd17423dd4460652d0ce97.tar.gz
android-node-v8-91f1b250ecb4fb8151cd17423dd4460652d0ce97.tar.bz2
android-node-v8-91f1b250ecb4fb8151cd17423dd4460652d0ce97.zip
mraleph emit hack
Diffstat (limited to 'lib')
-rw-r--r--lib/events.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/events.js b/lib/events.js
index b681c105aa..a7daaa288c 100644
--- a/lib/events.js
+++ b/lib/events.js
@@ -35,7 +35,8 @@ EventEmitter.prototype.setMaxListeners = function(n) {
};
-EventEmitter.prototype.emit = function(type) {
+EventEmitter.prototype.emit = function() {
+ var type = arguments[0];
// If there is no 'error' event listener then throw.
if (type === 'error') {
if (!this._events || !this._events.error ||
@@ -68,13 +69,17 @@ EventEmitter.prototype.emit = function(type) {
break;
// slower
default:
- var args = Array.prototype.slice.call(arguments, 1);
+ var l = arguments.length;
+ var args = new Array(l - 1);
+ for (var i = 1; i < l; i++) args[i - 1] = arguments[i];
handler.apply(this, args);
}
return true;
} else if (isArray(handler)) {
- var args = Array.prototype.slice.call(arguments, 1);
+ var l = arguments.length;
+ var args = new Array(l - 1);
+ for (var i = 1; i < l; i++) args[i - 1] = arguments[i];
var listeners = handler.slice();
for (var i = 0, l = listeners.length; i < l; i++) {