summaryrefslogtreecommitdiff
path: root/src/core/service.c
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-09 12:22:53 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-09 12:22:53 +0000
commite1730d8012fca0a712de588285342f7ad10dd804 (patch)
treeb351ae5da04fe10a211be772636b2bf8de6d49dd /src/core/service.c
parenta989bd16c40e04bba5a5404b0ef0cd22f19d2707 (diff)
now including entertain/chess
Diffstat (limited to 'src/core/service.c')
-rw-r--r--src/core/service.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/core/service.c b/src/core/service.c
index 20934a7..dda6311 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -918,11 +918,8 @@ hybbx_result_t hybbx_service_start_transport(hybbx_service_t *service,
return HYBBX_ERR_BUSY;
}
- if (active->plugin->start == NULL) {
- return HYBBX_ERR_UNSUPPORTED;
- }
-
- {
+ /* Feature plugins (e.g. entertain) may have init/tick/on_command only. */
+ if (active->plugin->start != NULL) {
hybbx_result_t rc = active->plugin->start(config);
if (rc != HYBBX_OK) {
return rc;
@@ -1040,8 +1037,9 @@ hybbx_result_t hybbx_service_try_plugin_command(hybbx_service_t *service,
const hybbx_transport_plugin_t *p = svc->transports[i].plugin;
if (p != NULL && p->on_command != NULL) {
hybbx_result_t rc = p->on_command(service, session, cmd);
- if (rc == HYBBX_OK) {
- return HYBBX_OK;
+ /* NOT_FOUND = not this plugin; any other result = handled. */
+ if (rc != HYBBX_ERR_NOT_FOUND) {
+ return rc;
}
}
}
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com