diff options
| author | info@mode42.com <info@mode42.com> | 2026-08-09 12:22:53 +0000 |
|---|---|---|
| committer | info@mode42.com <info@mode42.com> | 2026-08-09 12:22:53 +0000 |
| commit | e1730d8012fca0a712de588285342f7ad10dd804 (patch) | |
| tree | b351ae5da04fe10a211be772636b2bf8de6d49dd /src/core/service.c | |
| parent | a989bd16c40e04bba5a5404b0ef0cd22f19d2707 (diff) | |
now including entertain/chess
Diffstat (limited to 'src/core/service.c')
| -rw-r--r-- | src/core/service.c | 12 |
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; } } } |
