riverctl patch: fix incorrect arg num for string array

This commit is contained in:
Zuki Air 2025-07-29 15:44:45 +01:00
parent 89880aeefa
commit e1e1a74342

View File

@ -1,4 +1,4 @@
From 184aa237dc5d9c6a142183f8e25f4149d7904bf4 Mon Sep 17 00:00:00 2001
From 8b1fa82ce202ff302e76e8e6e7e5f9083da5f4d1 Mon Sep 17 00:00:00 2001
From: Zuki Air <zukirust@gmail.com>
Date: Sun, 27 Jul 2025 11:30:32 +0100
Subject: [PATCH] river-ctl patch
@ -6,6 +6,8 @@ Subject: [PATCH] river-ctl patch
remove func argument and use the root argument instead
improve uint error handling
fix bug
---
.gitignore | 1 +
Makefile | 22 +-
@ -13,8 +15,8 @@ improve uint error handling
dwl.c | 20 +-
dwlctl.c | 132 +++++
protocols/river-control-unstable-v1.xml | 85 +++
river-control.h | 743 ++++++++++++++++++++++++
7 files changed, 1023 insertions(+), 16 deletions(-)
river-control.h | 742 ++++++++++++++++++++++++
7 files changed, 1022 insertions(+), 16 deletions(-)
create mode 100644 dwlctl.c
create mode 100644 protocols/river-control-unstable-v1.xml
create mode 100644 river-control.h
@ -448,10 +450,10 @@ index 0000000..aa5fc4d
+</protocol>
diff --git a/river-control.h b/river-control.h
new file mode 100644
index 0000000..c59399b
index 0000000..6c6fbea
--- /dev/null
+++ b/river-control.h
@@ -0,0 +1,743 @@
@@ -0,0 +1,742 @@
+#include "river-control-unstable-v1-private-protocol.c"
+#include "river-control-unstable-v1-protocol.h"
+#ifdef KEYS_USED
@ -887,7 +889,6 @@ index 0000000..c59399b
+ args->error = true;
+ args->error_msg = zriver_error_alloc;
+ } else {
+ args->str_link = add_arg_str_store(argument);
+ args->p.fa->func = fst->func;
+ args->key_arg_type = fst->arg_type;
+ }
@ -966,7 +967,7 @@ index 0000000..c59399b
+ arg_filter = true;
+ arg = &args->p.fa->arg;
+ } else if (args->argc > 1 && args->argc < STR_LINK_ARRAY_SIZE && args->key_arg_type == FUNC_STR_ARG_TYPE_STRING_ARRAY && args->p.kl->key->arg.v != NULL) {
+ append_str_store((char**)args->p.fa->arg.v,argument,args->argc-2);
+ append_str_store((char**)args->p.fa->arg.v,argument,args->argc-1);
+ }
+ } else if (args->type == ZRIVER_ARG_TYPE_KEY) {
+ if (args->argc == 1) {