diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index f26a379164eb1b8934f0d6ba7cc14778d1e903de..13b407584fd9463a5d3ea50f325a8427279b2eb3 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -802,6 +802,22 @@ static BOOL js_init(char** environ) return(FALSE); } + /* STDIO objects */ + if(!js_CreateFileObject(js_cx, js_glob, "stdout", stdout)) { + JS_ENDREQUEST(js_cx); + return(FALSE); + } + + if(!js_CreateFileObject(js_cx, js_glob, "stdin", stdin)) { + JS_ENDREQUEST(js_cx); + return(FALSE); + } + + if(!js_CreateFileObject(js_cx, js_glob, "stderr", stderr)) { + JS_ENDREQUEST(js_cx); + return(FALSE); + } + return(TRUE); } diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 8dad968f44747d333b47aad9dd3f617063e0984c..57e5023c97695ed0e70cabf483f055338486e421 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1258,6 +1258,7 @@ extern "C" { /* js_file.c */ DLLEXPORT JSObject* DLLCALL js_CreateFileClass(JSContext* cx, JSObject* parent); + DLLEXPORT JSObject* DLLCALL js_CreateFileObject(JSContext* cx, JSObject* parent, char *name, FILE* fp); /* js_sprintf.c */ DLLEXPORT char* DLLCALL js_sprintf(JSContext* cx, uint argn, unsigned argc, jsval *argv);