ejsval _ejs_stream_end (ejsval env, ejsval _this, uint32_t argc, ejsval* args) { ejsval internal_fd = _ejs_object_getprop_utf8 (_this, "%internal_fd"); close (ToInteger(internal_fd)); return _ejs_undefined; }
ejsval _ejs_stream_write (ejsval env, ejsval _this, uint32_t argc, ejsval* args) { ejsval to_write = ToString(args[0]); ejsval internal_fd = _ejs_object_getprop_utf8 (_this, "%internal_fd"); int fd = ToInteger(internal_fd); int remaining = EJSVAL_TO_STRLEN(to_write); int offset = 0; char *buf = ucs2_to_utf8(EJSVAL_TO_FLAT_STRING(to_write)); do { int num_written = write (fd, buf + offset, remaining); if (num_written == -1) { if (errno == EINTR) continue; perror ("write"); free (buf); return _ejs_false; } remaining -= num_written; offset += num_written; } while (remaining > 0); free (buf); return _ejs_true; }
void allinone_for_load_just_ensure_these_functions_and_variables_are_included_please_do_not_call() { JSValueHash(_ejs_nan); JSValueHash(jsPositiveInfinity); JSValueHash(jsNegativeInfinity); JSValueHash(jsMax); JSValueHash(jsMin); JSValueHash(_ejs_null); JSValueHash(_ejs_undefined); JSValueHash(_ejs_true); JSValueHash(_ejs_false); JSValueHash(_ejs_one); JSValueHash(_ejs_zero); JSValueHash(_ejs_global); JSValueHash(_ejs_console); JSValueHash(_ejs_Object); JSValueHash(_ejs_Boolean); JSValueHash(_ejs_Number); JSValueHash(_ejs_String); JSValueHash(_ejs_Array); JSValueHash(_ejs_Function); JSValueHash(_ejs_Process); JSValueHash(_ejs_Symbol_create); JSValueHash(_ejs_Math); JSValueHash(_ejs_JSON); jsextern_print_tick(); jsextern_os_msleep(0); jsextern_os_swap(NULL, 0, 0); jsextern_pcre_compile(NULL); jsextern_pcre_study(NULL); jsextern_pcre_bracketcount(NULL); jsextern_pcre_exec(NULL, NULL, NULL, 0, 0, NULL, 0); jsextern_pcre_free(NULL); jsextern_thread_create((void *(*)(void *))NULL, NULL); jsextern_thread_destroy(0); jsextern_mutex_create(); jsextern_mutex_destroy(0); jsextern_mutex_lock(0); jsextern_mutex_unlock(0); jsextern_signal_create(); jsextern_signal_destroy(0); jsextern_signal_wait(0); jsextern_signal_send(0); JSValueHash(_ejs_undefined); _ejs_eval(_ejs_undefined, _ejs_undefined, 0, NULL); //Object _ejs_object_getprop_utf8(_ejs_undefined, NULL); _ejs_object_setprop_utf8(_ejs_global, NULL, _ejs_undefined); _ejs_object_define_value_property(_ejs_undefined, _ejs_undefined, _ejs_undefined, 0); _ejs_object_define_getter_property(_ejs_undefined, _ejs_undefined, _ejs_undefined, 0); _ejs_object_define_setter_property(_ejs_undefined, _ejs_undefined, _ejs_undefined, 0); _ejs_Object_create(_ejs_undefined, _ejs_undefined, 0, NULL); _ejs_Object_getOwnPropertyNames(_ejs_undefined, _ejs_undefined, 0, NULL); //vtable _ejs_specop_get(_ejs_undefined, _ejs_undefined, _ejs_undefined); _ejs_specop_set(_ejs_undefined, _ejs_undefined, _ejs_undefined, _ejs_undefined); //option ToEJSBool(_ejs_undefined); ToDouble(_ejs_undefined); ToUint32(_ejs_undefined); _ejs_op_typeof(_ejs_undefined); _ejs_op_instanceof(_ejs_undefined, _ejs_undefined); _ejs_op_typeof_is_array(_ejs_undefined); _ejs_op_plusplus(_ejs_undefined, EJS_FALSE); _ejs_op_minusminus(_ejs_undefined, EJS_FALSE); _ejs_op_bitwise_xor(_ejs_undefined, _ejs_undefined); _ejs_op_bitwise_and(_ejs_undefined, _ejs_undefined); _ejs_op_bitwise_or(_ejs_undefined, _ejs_undefined); _ejs_op_rsh(_ejs_undefined, _ejs_undefined); _ejs_op_ursh(_ejs_undefined, _ejs_undefined); _ejs_op_lsh(_ejs_undefined, _ejs_undefined); _ejs_op_ulsh(_ejs_undefined, _ejs_undefined); _ejs_op_mod(_ejs_undefined, _ejs_undefined); _ejs_op_add(_ejs_undefined, _ejs_undefined); _ejs_op_sub(_ejs_undefined, _ejs_undefined); _ejs_op_mult(_ejs_undefined, _ejs_undefined); _ejs_op_div(_ejs_undefined, _ejs_undefined); _ejs_op_lt(_ejs_undefined, _ejs_undefined); _ejs_op_le(_ejs_undefined, _ejs_undefined); _ejs_op_gt(_ejs_undefined, _ejs_undefined); _ejs_op_ge(_ejs_undefined, _ejs_undefined); _ejs_op_strict_eq(_ejs_undefined, _ejs_undefined); _ejs_op_strict_neq(_ejs_undefined, _ejs_undefined); _ejs_op_eq(_ejs_undefined, _ejs_undefined); _ejs_op_neq(_ejs_undefined, _ejs_undefined); //arguments _ejs_arguments_new(0, NULL); //Array _ejs_array_new(jsValue32Size, false); //String _ejs_string_new_utf8_len(NULL, 0); //Function _ejs_function_new_utf8(_ejs_undefined, NULL, (EJSClosureFunc)NULL); _ejs_invoke_closure(_ejs_undefined, _ejs_undefined, 0, NULL); //RegExp _ejs_regexp_new_utf8(NULL, NULL); }