diff --git a/event/event.c b/event/event.c
index eb7450a..24cd671 100644
--- a/event/event.c
+++ b/event/event.c
@@ -58,14 +58,14 @@ static void kc3_event_callback (int fd, short events, void *tag_tuple)
assert(! "kc3_event_callback: invalid arg: tuple size != 3");
abort();
}
- if (tag->data.tuple.tag[0].type != TAG_CALLABLE) {
+ if (tag->data.tuple.tag[0].type != TAG_PCALLABLE) {
err_puts("kc3_event_callback: invalid arg: not a Callable"
" (Cfn or Fn)");
assert(!("kc3_event_callback: invalid arg: not a Callable"
" (Cfn or Fn)"));
abort();
}
- if (! (callable = tag->data.tuple.tag[0].data.callable)) {
+ if (! (callable = tag->data.tuple.tag[0].data.pcallable)) {
err_puts("kc3_event_callback: invalid arg: ! callable");
assert(! "kc3_event_callback: invalid arg: ! callable");
abort();
@@ -146,7 +146,7 @@ struct event * kc3_event_new (struct event_base **event_base, s32 fd,
assert(! "kc3_event_new: event_new");
return NULL;
}
- tag_init_callable_copy(tag->data.tuple.tag, callback);
+ tag_init_pcallable_copy(tag->data.tuple.tag, callback);
tag_init_copy(tag->data.tuple.tag + 2, arg);
tag_init_ptr(tag->data.tuple.tag + 1, ev);
return ev;
diff --git a/gtk4/signal.c b/gtk4/signal.c
index 0027dc1..6cdb963 100644
--- a/gtk4/signal.c
+++ b/gtk4/signal.c
@@ -14,6 +14,7 @@
#include <libkc3/callable.h>
#include <libkc3/eval.h>
#include <libkc3/list.h>
+#include <libkc3/pcallable.h>
#include <libkc3/tag.h>
#include <libkc3/tuple.h>
#include "signal.h"
@@ -25,12 +26,12 @@ void kc3_gtk4_signal_callback (GObject *object, s_tuple *tuple)
s_tag tag;
s_list *tmp;
if (tuple->count != 2 ||
- tuple->tag[0].type != TAG_CALLABLE) {
+ tuple->tag[0].type != TAG_PCALLABLE) {
err_puts("kc3_gtk4_signal_callback: invalid tuple");
assert(! "kc3_gtk4_signal_callback: invalid tuple");
abort();
}
- callable = tuple->tag->data.callable;
+ callable = tuple->tag->data.pcallable;
if (! callable ||
callable->type == CALLABLE_VOID) {
err_puts("kc3_gtk4_signal_callback: invalid callable");
@@ -69,10 +70,10 @@ void kc3_gtk4_signal_connect (GObject **object,
assert(! "kc3_gtk4_signal_connect: tuple_new");
abort();
}
- tuple->tag->type = TAG_CALLABLE;
- if (! p_callable_init_copy(&tuple->tag->data.callable, callback)) {
- err_puts("kc3_gtk4_signal_connect: p_callable_init_copy");
- assert(! "kc3_gtk4_signal_connect: p_callable_init_copy");
+ tuple->tag->type = TAG_PCALLABLE;
+ if (! pcallable_init_copy(&tuple->tag->data.pcallable, callback)) {
+ err_puts("kc3_gtk4_signal_connect: pcallable_init_copy");
+ assert(! "kc3_gtk4_signal_connect: pcallable_init_copy");
abort();
}
if (! tag_init_copy(tuple->tag + 1, data)) {
diff --git a/gtk4/simple_action.c b/gtk4/simple_action.c
index 0d286b3..60844cd 100644
--- a/gtk4/simple_action.c
+++ b/gtk4/simple_action.c
@@ -75,9 +75,9 @@ GSimpleAction ** kc3_gtk4_simple_action_new (GSimpleAction **dest,
cb->action = tmp;
cb->next = g_action_callbacks;
g_action_callbacks = cb;
- if (! (p_callable_init_copy(&cb->callable, callable))) {
- err_puts("kc3_gtk4_simple_action_new: p_callable_init_copy");
- assert(! "kc3_gtk4_simple_action_new: p_callable_init_copy");
+ if (! (pcallable_init_copy(&cb->callable, callable))) {
+ err_puts("kc3_gtk4_simple_action_new: pcallable_init_copy");
+ assert(! "kc3_gtk4_simple_action_new: pcallable_init_copy");
return NULL;
}
if (! (tag_init_copy(&cb->tag, data))) {
diff --git a/test/ops_test.c b/test/ops_test.c
index b7366ff..d9c3d7f 100644
--- a/test/ops_test.c
+++ b/test/ops_test.c
@@ -15,6 +15,7 @@
#include "../libkc3/callable.h"
#include "../libkc3/op.h"
#include "../libkc3/ops.h"
+#include "../libkc3/pcallable.h"
#include "../libkc3/struct.h"
#include "../libkc3/sym.h"
#include "../libkc3/tag.h"
@@ -67,7 +68,7 @@ TEST_CASE(ops_add)
op->arity = 2;
op->precedence = 1;
op->associativity = 1;
- op->callable = callable_new();
+ TEST_ASSERT(pcallable_init(&op->pcallable));
TEST_ASSERT(ops_add(ops, &op_tag));
TEST_EQ(ops->ht.count, 1);
tag_clean(&op_tag);
@@ -90,7 +91,7 @@ TEST_CASE(ops_get)
op->arity = 2;
op->precedence = 3;
op->associativity = 1;
- op->callable = callable_new();
+ TEST_ASSERT(pcallable_init(&op->pcallable));
TEST_ASSERT(ops_add(ops, &op_tag));
TEST_EQ(ops->ht.count, 1);
tag_clean(&op_tag);