summaryrefslogtreecommitdiff
path: root/src/fruits
diff options
context:
space:
mode:
Diffstat (limited to 'src/fruits')
-rw-r--r--src/fruits/cmc/cmc.c17
-rw-r--r--src/fruits/cmv/cmv.c33
-rw-r--r--src/fruits/common.h4
-rw-r--r--src/fruits/ctv/ctv.c2
4 files changed, 31 insertions, 25 deletions
diff --git a/src/fruits/cmc/cmc.c b/src/fruits/cmc/cmc.c
index 1046e41..61ac25a 100644
--- a/src/fruits/cmc/cmc.c
+++ b/src/fruits/cmc/cmc.c
@@ -29,9 +29,9 @@ static struct cmc_search *get_search_by_id(struct cmc *c, s32 id)
}
*/
-static void parse_list_entry(struct nn_packet *packet, struct cmc_list_entry *entry)
+static void parse_list_entry(struct nn_packet *packet, struct cmc_list_entry *entry, u32 id)
{
- entry->id = nn_packet_read_u32(packet);
+ entry->id = id;
entry->duration = nn_packet_read_u64(packet);
entry->start = nn_packet_read_u64(packet);
entry->paused_at = nn_packet_read_u64(packet);
@@ -65,8 +65,9 @@ static void parse_initial_user_state(struct cmc *c, struct nn_packet *packet)
al_array_init(list->entries);
u32 inner_count = nn_packet_read_s32(packet);
for (u32 j = 0; j < inner_count; j++) {
+ u32 id = nn_packet_read_u32(packet);
struct cmc_list_entry entry;
- parse_list_entry(packet, &entry);
+ parse_list_entry(packet, &entry, id);
al_array_push(list->entries, entry);
}
al_array_push(c->lists, list);
@@ -131,8 +132,9 @@ static void client_callback(void *userdata, u8 op, void *opaque)
al_array_foreach(c->lists, i, list) {
if (al_str_eq(&list->name, &name)) {
list->current = nn_packet_read_s32(packet);
+ u32 id = nn_packet_read_u32(packet);
struct cmc_list_entry *entry = &al_array_at(list->entries, list->current);
- parse_list_entry(packet, entry);
+ parse_list_entry(packet, entry, id);
break;
}
}
@@ -142,8 +144,9 @@ static void client_callback(void *userdata, u8 op, void *opaque)
case LIANA_META_ADDED_ENTRY: {
str name;
nn_packet_read_str(packet, &name);
+ u32 id = nn_packet_read_u32(packet);
struct cmc_list_entry entry;
- parse_list_entry(packet, &entry);
+ parse_list_entry(packet, &entry, id);
struct cmc_list *list;
al_array_foreach(c->lists, i, list) {
if (al_str_eq(&list->name, &name)) {
@@ -160,11 +163,11 @@ static void client_callback(void *userdata, u8 op, void *opaque)
struct cmc_list *list;
al_array_foreach(c->lists, i, list) {
if (al_str_eq(&list->name, &name)) {
- u32 id = nn_packet_peek_u32(packet);
+ u32 id = nn_packet_read_u32(packet);
struct cmc_list_entry *entry;
al_array_foreach_ptr(list->entries, j, entry) {
if (entry->id == id) {
- parse_list_entry(packet, entry);
+ parse_list_entry(packet, entry, id);
break;
}
}
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 86b6f75..274319a 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -46,9 +46,9 @@ static nn_thread_result NNWT_THREADCALL event_loop_thread(void *userdata)
static bool parse_exe_name_params(str *exe_name, str *addr, struct lia_prefs *prefs)
{
u32 index = al_str_rfind(exe_name, '/');
- if (index == al_str_npos) {
+ if (index == AL_STR_NPOS) {
index = al_str_rfind(exe_name, '\\');
- if (index == al_str_npos) goto def;
+ if (index == AL_STR_NPOS) goto def;
}
str sub = al_str_substr(exe_name, index + 1, exe_name->length);
@@ -59,19 +59,19 @@ static bool parse_exe_name_params(str *exe_name, str *addr, struct lia_prefs *pr
// Skip version.
index = al_str_find(&sub, '-');
- if (index == al_str_npos) goto def;
+ if (index == AL_STR_NPOS) goto def;
sub = al_str_substr(&sub, index + 1, sub.length);
index = al_str_find(&sub, '-');
- if (index == al_str_npos) goto def;
+ if (index == AL_STR_NPOS) goto def;
*addr = al_str_substr(&sub, 0, index);
for (;;) {
sub = al_str_substr(&sub, index + 1, sub.length);
index = al_str_find(&sub, '-');
- if (index == al_str_npos) {
+ if (index == AL_STR_NPOS) {
index = al_str_find(&sub, '.');
- if (index == al_str_npos) {
+ if (index == AL_STR_NPOS) {
index = sub.length;
} else {
sub.length = index;
@@ -104,8 +104,10 @@ def:
static struct cmv c = { 0 };
-s32 window_system_main(s32 argc, str *argv)
+s32 window_system_main(u32 argc, str *argv, void *extra)
{
+ (void)extra;
+
#ifdef CAMU_HAVE_FFMPEG
camu_ff_common_init();
#endif
@@ -180,7 +182,7 @@ s32 window_system_main(s32 argc, str *argv)
#ifndef CAMU_SINK_ONLY
if (local) {
- for (s32 i = 1; i < argc; i++) {
+ for (u32 i = 1; i < argc; i++) {
struct nn_packet *packet = nn_packet_create();
#if defined CAMU_HAVE_PORTAL
if (al_str_at(&argv[i], 0) == ';' || camu_is_url(&argv[i], 0)) {
@@ -231,12 +233,12 @@ static void sigint_handler(int signum)
}
#ifdef NAUNET_ON_WINDOWS
-s32 wmain(s32 argc, wchar_t **wargv)
+s32 wmain(s32 argc, wchar_t **argv)
#else
-s32 main(s32 argc, char *cargv[])
+s32 main(s32 argc, char *argv[])
#endif
{
- if (!nn_common_init()) {
+ if (!nn_common_init() || !stl_global_init(false)) {
return EXIT_FAILURE;
}
@@ -244,20 +246,21 @@ s32 main(s32 argc, char *cargv[])
array(str) args;
al_array_init(args);
+ al_array_reserve(args, argc);
for (s32 i = 0; i < argc; i++) {
str arg;
#ifdef NAUNET_ON_WINDOWS
- if (!al_str_from_wstr(&arg, &al_wstr_cr(wargv[i]))) {
- error("Failed to parse argument #%i.", i);
+ if (!al_str_from_wstr(&arg, &al_wstr_cr(argv[i]))) {
+ error("Failed to convert argument #%i from a wide string.", i);
continue;
}
#else
- al_str_from(&arg, cargv[i]);
+ al_str_from(&arg, argv[i]);
#endif
al_array_push(args, arg);
}
- s32 ret = stl_global_init((s32)args.count, args.data, window_system_main, false);
+ s32 ret = stl_swallow_main(args.count, args.data, window_system_main, NULL);
stl_global_close();
str *arg;
diff --git a/src/fruits/common.h b/src/fruits/common.h
index 2df5f73..1ff1b1e 100644
--- a/src/fruits/common.h
+++ b/src/fruits/common.h
@@ -1,7 +1,7 @@
#include <al/str.h>
#include <nnwt/socket.h>
-AL_UNUSED_VARIABLE_PUSH
+AL_IGNORE_WARNING("-Wunused-variable")
static str CAMU_DB_PATH = al_str_c("/home/andrew/c/camu/data/camu_db_test");
@@ -11,7 +11,7 @@ static str CAMU_LOCALHOST = al_str_c("127.0.0.1");
static str CAMU_TEST_PATH = al_str_c("/tmp/camu_sock");
static str CAMU_TEST_CONTROL_PATH = al_str_c("/tmp/camu_control_sock");
-AL_UNUSED_VARIABLE_POP
+AL_IGNORE_WARNING_END
//#define CAMU_TEST_TYPE NNWT_SOCKET_UNIX
//#define CAMU_TEST_ADDR CAMU_TEST_PATH
diff --git a/src/fruits/ctv/ctv.c b/src/fruits/ctv/ctv.c
index 452cd39..d8094c3 100644
--- a/src/fruits/ctv/ctv.c
+++ b/src/fruits/ctv/ctv.c
@@ -45,7 +45,7 @@ static s32 log_callback(void *userdata, u8 level, char *message)
static struct ctv c = { 0 };
-s32 window_system_main(s32 argc, str *argv)
+s32 stl_platform_main(u32 argc, str *argv)
{
(void)argc;
(void)argv;