]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add Ptr class to use for passing C pointers
authorNick Porter <nick@portercomputing.co.uk>
Mon, 9 Jun 2025 15:29:51 +0000 (16:29 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Mon, 9 Jun 2025 15:29:51 +0000 (16:29 +0100)
src/modules/rlm_mruby/rlm_mruby.c
src/modules/rlm_mruby/rlm_mruby.h

index 31ffdfa6fc7b1ab86c2884607fb581d7a716c132..ce8252171cd3d4e6a5258b691acae3331f118ff9 100644 (file)
@@ -201,6 +201,9 @@ static int mod_instantiate(module_inst_ctx_t const *mctx)
        /* Define the Request class */
        inst->mruby_request = mruby_request_class(mrb, inst->mruby_module);
 
+       inst->mruby_ptr = mrb_define_class_under(mrb, inst->mruby_module, "Ptr", mrb->object_class);
+       MRB_SET_INSTANCE_TT(inst->mruby_ptr, MRB_TT_DATA);
+
        DEBUG("Loading file %s...", inst->filename);
        f = fopen(inst->filename, "r");
        if (!f) {
index 328724eb888ec80ef0e88b3b93c780d2478e7f68..0a9a5796ffbb309aa0cc8a06c6ac9ceb6a6a1ebd 100644 (file)
@@ -48,6 +48,7 @@ typedef struct {
 
        struct RClass *mruby_module;
        struct RClass *mruby_request;
+       struct RClass *mruby_ptr;
        mrb_value mrubyconf_hash;
 } rlm_mruby_t;