shithub: libmujs

Download patch

ref: 7318098a6068e312c787eca834baef3daf03a642
parent: 0bb8f448b325722a804566b0557824f3a7ec2fcd
author: Tor Andersson <tor.andersson@gmail.com>
date: Tue Jan 17 17:18:00 EST 2017

Add a simple example.

--- a/docs/examples.html
+++ b/docs/examples.html
@@ -75,6 +75,35 @@
 js_setglobal(J, "t");
 </pre>
 
+<h2>Callbacks from C to JS (by name)</h2>
+
+<pre>
+static int call_callback(js_State *J, const char *arg1, int arg2)
+{
+	int result;
+
+	/* Find the function to call. */
+	js_getglobal(J, "my_callback");
+
+	/* Push arguments to function. */
+	js_pushnull(J); /* the 'this' object to use */
+	js_pushstring(J, arg1);
+	js_pushnumber(J, arg2);
+
+	/* Call function and check for exceptions. */
+	if (js_pcall(J, 2)) {
+		fprintf(stderr, "an exception occurred in the javascript callback\n");
+		js_pop(J, 1);
+		return -1;
+	}
+
+	/* Retrieve return value. */
+	result = js_tonumber(J, -1);
+	js_pop(J, 1);
+
+	return result;
+}
+
 <h2>Callbacks from C to JS</h2>
 
 <pre>