summaryrefslogtreecommitdiff
path: root/src/fruits
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-09-14 08:57:42 -0400
committerAndrew Opalach <andrew@akon.city> 2026-09-14 08:57:42 -0400
commit8f208c26b6fa1a9f3372679c047cab559c06e26b (patch)
tree323d894d6ff8e1ed1445c40cb1e2f5d3cee5e8e8 /src/fruits
parentc66c7c64ebd16287b892f8a780cffcabafba3799 (diff)
downloadcamu-8f208c26b6fa1a9f3372679c047cab559c06e26b.tar.gz
camu-8f208c26b6fa1a9f3372679c047cab559c06e26b.tar.bz2
camu-8f208c26b6fa1a9f3372679c047cab559c06e26b.zip
Server-side fixes from DIRECT_MODE testing
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/fruits')
-rw-r--r--src/fruits/cmc/cmc.c7
-rw-r--r--src/fruits/cmsrv/cmsrv.c10
-rw-r--r--src/fruits/cmv/cmv.c13
3 files changed, 20 insertions, 10 deletions
diff --git a/src/fruits/cmc/cmc.c b/src/fruits/cmc/cmc.c
index f015772..c4eb62e 100644
--- a/src/fruits/cmc/cmc.c
+++ b/src/fruits/cmc/cmc.c
@@ -1,3 +1,5 @@
+#define AL_LOG_SECTION "cmc"
+#include <al/log.h>
#include <nnwt/common.h>
#include <nnwt/event_loop.h>
#include <nnwt/packet.h>
@@ -268,6 +270,11 @@ s32 main(s32 argc, char *argv[])
return EXIT_FAILURE;
}
+#ifdef CAMU_DIRECT_MODE
+ log_error("Can't run cmc in DIRECT_MODE.");
+ return EXIT_FAILURE;
+#endif
+
al_array_init(c.cli.args);
if (!parse_command_line(argc, argv)) {
goto err;
diff --git a/src/fruits/cmsrv/cmsrv.c b/src/fruits/cmsrv/cmsrv.c
index 452254b..8161b6e 100644
--- a/src/fruits/cmsrv/cmsrv.c
+++ b/src/fruits/cmsrv/cmsrv.c
@@ -114,10 +114,7 @@ static u8 server_line_callback(void *userdata, str *line)
} else if (al_str_eq(line, &al_str_c(";QUIT"))) {
close_cmsrv(s);
} else {
- struct nn_packet *packet = nn_packet_create();
- nn_packet_write_str(packet, line);
- camu_server_local_add(&s->server, packet);
- nn_packet_free(packet);
+ camu_server_local_add(&s->server, line);
}
return NNWT_LINE_PROCESSOR_CONTINUE;
}
@@ -197,6 +194,11 @@ s32 main(s32 argc, char *argv[])
return EXIT_FAILURE;
}
+#ifdef CAMU_DIRECT_MODE
+ log_error("Can't run cmsrv in DIRECT_MODE.");
+ return EXIT_FAILURE;
+#endif
+
s.use_ui = false;
#ifdef CMSRV_USE_UI
char *CMSRV_UI = getenv("CMSRV_UI");
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 333588e..965f211 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -125,7 +125,11 @@ s32 window_system_main(u32 argc, str *argv, void *extra)
if (SINK_SERVER && al_strscmp(SINK_SERVER, "1") == 0) {
local = true;
} else {
+#ifdef CAMU_DIRECT_MODE
+ local = true;
+#else
local = argc > 1;
+#endif
}
#endif
@@ -231,13 +235,9 @@ s32 window_system_main(u32 argc, str *argv, void *extra)
}
if (local) {
- for (u32 i = 1; i < argc; i++) {
- struct nn_packet *packet = nn_packet_create();
- nn_packet_write_str(packet, &argv[i]);
#ifndef CAMU_SINK_ONLY
- camu_server_local_add(&c.server, packet);
-#endif
- nn_packet_free(packet);
+ for (u32 i = 1; i < argc; i++) {
+ camu_server_local_add(&c.server, &argv[i]);
}
if (extra) {
s32 start_index = *(s32 *)extra;
@@ -245,6 +245,7 @@ s32 window_system_main(u32 argc, str *argv, void *extra)
camu_server_local_start_at(&c.server, start_index);
}
}
+#endif
}
struct nn_thread thread;