diff --git a/lib/util.js b/lib/util.js index b0462483..4fcc299b 100644 --- a/lib/util.js +++ b/lib/util.js @@ -697,11 +697,22 @@ Util = exports || {}; * @param pCallBack * @param pArg */ - Util.retExec = function(pCallBack, pArg) { - return function(pArgument) { - if ( !Util.isUndefined(pArg) ) - pArgument = pArg; - Util.exec(pCallBack, pArgument); + Util.retExec = function() { + var args = arguments; + + return function() { + var argsLocal, callback, + n = arguments.length; + + if (!n) + argsLocal = args; + else { + callback = args[0]; + argsLocal = arguments; + [].unshift.call(argsLocal, callback); + } + + Util.exec.apply(null, argsLocal); }; };