summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-11-30 19:03:17 -0500
committerAndrew Opalach <andrew@akon.city> 2025-11-30 19:03:17 -0500
commit9b1aa16374da5ac7da83da823788fd35be6d172c (patch)
tree84d5a039db860a24aed93ec6755491475d93f7b5 /src
parentc6a78e2502fd3f7deabecbf48970f346424106f6 (diff)
downloadcamu-9b1aa16374da5ac7da83da823788fd35be6d172c.tar.gz
camu-9b1aa16374da5ac7da83da823788fd35be6d172c.tar.bz2
camu-9b1aa16374da5ac7da83da823788fd35be6d172c.zip
Environment variable to set sink ip
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src')
-rw-r--r--src/fruits/cmv/cmv.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 535bf72..d76adb3 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -44,7 +44,7 @@ static nn_thread_result NNWT_THREADCALL event_loop_thread(void *userdata)
return 0;
}
-static bool decode_addr(str *enc, str *addr)
+static bool decode_addr(str *addr, str *enc)
{
char value[4]; // max = 255.
for (u32 i = 0; i < 8; i += 2) {
@@ -62,7 +62,7 @@ static bool decode_addr(str *enc, str *addr)
return true;
}
-// sink-p12-976502a7.exe
+// sink-p12_NOTE-976502a7.exe
static bool parse_exe_name(str *exe_name, str *addr)
{
u32 index = al_str_rfind(exe_name, '/');
@@ -88,7 +88,7 @@ static bool parse_exe_name(str *exe_name, str *addr)
sub = al_str_substr(&sub, 0, index);
}
al_str_from(addr, "");
- decode_addr(&sub, addr);
+ decode_addr(addr, &sub);
log_debug("Parsed address %.*s from exe filename.", al_str_x(addr));
return true;
@@ -127,7 +127,9 @@ s32 window_system_main(u32 argc, str *argv, void *extra)
u8 type;
str addr;
- if (!parse_exe_name(&argv[0], &addr)) {
+ if (parse_exe_name(&argv[0], &addr)) {
+ type = NNWT_SOCKET_TCP;
+ } else {
#ifndef CAMU_SINK_ONLY
if (local) {
#ifdef NAUNET_ON_WINDOWS
@@ -141,15 +143,16 @@ s32 window_system_main(u32 argc, str *argv, void *extra)
al_str_cat(&addr, &al_str_cs(pid_str));
#endif
} else {
+#endif
type = NNWT_SOCKET_TCP;
- al_str_clone(&addr, &al_str_c("127.0.0.1"));
+ char *SINK_IP = getenv("SINK_IP");
+ al_str_from(&addr, "");
+ if (!SINK_IP || !decode_addr(&addr, &al_str_cr(SINK_IP))) {
+ al_str_cat(&addr, &al_str_c("127.0.0.1"));
+ }
+#ifndef CAMU_SINK_ONLY
}
-#else
- type = NNWT_SOCKET_TCP;
- al_str_clone(&addr, &al_str_c("127.0.0.1"));
#endif
- } else {
- type = NNWT_SOCKET_TCP;
}
struct lia_prefs *prefs = &c.desktop.sink.prefs;