diff options
author | Jo-Philipp Wich <jo@mein.io> | 2020-09-02 22:11:02 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2020-09-02 22:11:02 +0200 |
commit | 12bb6730791e2f91a93279c742e94f29945caef6 (patch) | |
tree | 08de455ee5886dcd565ca01bd1bee126ccb93c91 /lib.h | |
parent | d3240ccf01044b37a328a202303c0e3528aacf01 (diff) |
eval, lib: use tagged JSON objects to register C functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'lib.h')
-rw-r--r-- | lib.h | 18 |
1 files changed, 0 insertions, 18 deletions
@@ -22,24 +22,6 @@ typedef struct json_object *(ut_c_fn)(struct ut_state *, struct ut_opcode *, struct json_object *); -static inline int -ut_c_fn_to_string(struct json_object *v, struct printbuf *pb, int level, int flags) -{ - return sprintbuf(pb, "%sfunction(...) { [native code] }%s", - level ? "\"" : "", level ? "\"" : ""); -} - -static inline bool -ut_add_function(struct ut_state *state, struct json_object *scope, const char *name, ut_c_fn *fn) -{ - struct ut_opcode *op = ut_new_op(state, T_CFUNC, - json_object_new_boolean(0), (struct ut_opcode *)fn, (void *)1); - - json_object_set_serializer(op->val, ut_c_fn_to_string, op, NULL); - - return json_object_object_add(scope, name, json_object_get(op->val)); -} - void ut_lib_init(struct ut_state *state, struct json_object *scope); char *ut_format_error(struct ut_state *state, const char *expr); |