Subj : Re: Problem with JavaScript functions To : netscape.public.mozilla.jseng From : "Yuraukar" Date : Mon Sep 29 2003 01:23 pm Here it is: ----------------------------------------------- JSRuntime *rt; JSContext *cx; JSObject *glob, *it; JSClass global_class = { "global",0, JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,JS_PropertyStub, JS_EnumerateStub,JS_ResolveStub,JS_ConvertStub,JS_FinalizeStub }; rt = JS_NewRuntime(8L * 1024L * 1024L); cx = JS_NewContext(rt, 8192); JS_SetErrorReporter(cx, my_ErrorReporter); glob = JS_NewObject(cx, &global_class, NULL, NULL); JS_InitStandardClasses(cx, glob); char line[500]; std::string cmd; jsval rval; JSString *str; JSBool ok; cmd = ""; while(gets(line)) { if (!*line) { JSScript *script; script = JS_CompileScript(cx, glob, cmd.c_str(), strlen(cmd.c_str()),NULL,1); if (script) { ok = JS_ExecuteScript(cx, obj, script, &rval); } // alternatively: ok = JS_EvaluateScript(cx, glob, cmd.c_str(), strlen(cmd.c_str()), "stdin", 1, &rval); if (ok) { str = JS_ValueToString(cx, rval); printf("script result: %s\n", JS_GetStringBytes(str)); } cmd = ""; } else { cmd += "\n"; cmd += line; } } JS_DestroyContext(cx); JS_DestroyRuntime(rt); ------------ .