diff --git a/exec/xjs_handler.js b/exec/xjs_handler.js index 0f71a1295e225437cd38ed4d6da62cb48e2071d8..12f9d4e24c4a474083e769354c39e7a46152b62e 100644 --- a/exec/xjs_handler.js +++ b/exec/xjs_handler.js @@ -9,17 +9,18 @@ if(this.http_request!=undefined) /* Requested through web-server */ else xjs_filename = argv[0]; -var last_cwd=''; +var cwd=''; xjs_load(xjs_filename); function xjs_load(filename) { - if(last_cwd != '') { + var old_cwd=cwd; + if(cwd != '') { if(filename.search(/^((\/)|([A-Za-z]:[\/\\]))/)==-1) - filename=last_cwd+'/'+filename; + filename=cwd+filename; } - var cwd=filename; - cwd=cwd.replace(/[^\\\/]*$/,''); + cwd=filename; + cwd=backslash(cwd.replace(/[^\\\/]*$/,'')); var ssjs_filename=filename+".ssjs"; // Probably a race condition on Win32 @@ -92,9 +93,8 @@ function xjs_load(filename) { } } - last_cwd=cwd; - load(ssjs_filename); + cwd=old_cwd; } function escape_quotes(arg) {