summaryrefslogtreecommitdiffhomepage
path: root/types.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2023-01-07 14:50:12 +0100
committerGitHub <noreply@github.com>2023-01-07 14:50:12 +0100
commit1e4d20932646f90523d21ea358c72901e3ee689e (patch)
treee19993595113ae8bba777278ecceabfc1ef0201e /types.c
parentff32355ea6455a59f769f96fdeee7dd055f40e50 (diff)
parentc0e413c21f7b114a70282041a0049196869dd15f (diff)
Merge pull request #134 from nbd168/thisval
include: add uc_fn_thisval()
Diffstat (limited to 'types.c')
-rw-r--r--types.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/types.c b/types.c
index 8a7986b..cde2221 100644
--- a/types.c
+++ b/types.c
@@ -1096,8 +1096,8 @@ ucv_resource_new(uc_resource_type_t *type, void *data)
return &res->header;
}
-void **
-ucv_resource_dataptr(uc_value_t *uv, const char *name)
+static uc_resource_t *
+ucv_resource_check(uc_value_t *uv, const char *name)
{
uc_resource_t *res = (uc_resource_t *)uv;
@@ -1109,7 +1109,23 @@ ucv_resource_dataptr(uc_value_t *uv, const char *name)
return NULL;
}
- return &res->data;
+ return res;
+}
+
+void *
+ucv_resource_data(uc_value_t *uv, const char *name)
+{
+ uc_resource_t *res = ucv_resource_check(uv, name);
+
+ return res ? res->data : NULL;
+}
+
+void **
+ucv_resource_dataptr(uc_value_t *uv, const char *name)
+{
+ uc_resource_t *res = ucv_resource_check(uv, name);
+
+ return res ? &res->data : NULL;
}