ソースを参照

Add a CONSOLE_ERROR function

Lucas Stadler 9 年 前
コミット
a65348d504
共有1 個のファイルを変更した16 個の追加0 個の削除を含む
  1. 16 0
      c/jsc-test.c

+ 16 - 0
c/jsc-test.c

@ -24,6 +24,21 @@ JSValueRef console_log(JSContextRef ctx, JSObjectRef function, JSObjectRef thisO
24 24
	return JSValueMakeUndefined(ctx);
25 25
}
26 26
27
JSValueRef console_error(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) {
28
	for (int i = 0; i < argumentCount; i++) {
29
		if (i > 0) {
30
			fprintf(stderr, " ");
31
		}
32
33
		JSStringRef str = to_string(ctx, arguments[i]);
34
		JSStringGetUTF8CString(str, console_log_buf, CONSOLE_LOG_BUF_SIZE);
35
		fprintf(stderr, "%s", console_log_buf);
36
	}
37
	fprintf(stderr, "\n");
38
39
	return JSValueMakeUndefined(ctx);
40
}
41
27 42
void register_global_function(JSContextRef ctx, char *name, JSObjectCallAsFunctionCallback handler) {
28 43
	JSObjectRef global_obj = JSContextGetGlobalObject(ctx);
29 44
@ -42,6 +57,7 @@ int main(int argc, char **argv) {
42 57
	JSObjectRef global_obj = JSContextGetGlobalObject(ctx);
43 58
44 59
	register_global_function(ctx, "CONSOLE_LOG", console_log);
60
	register_global_function(ctx, "CONSOLE_ERROR", console_error);
45 61
46 62
	JSStringRef source = JSStringCreateWithUTF8CString("<inline>");
47 63
	JSStringRef script;