aboutsummaryrefslogtreecommitdiff
path: root/src/bardata.c
diff options
context:
space:
mode:
authorne_mene <[email protected]>2026-03-01 21:33:52 +0100
committerne_mene <[email protected]>2026-03-01 21:33:52 +0100
commit66625e33aa2a4b1eedb4e2a46d2092999d8d9da4 (patch)
tree64d03d16538f645411e48c4b0ee72aeda01409a0 /src/bardata.c
parent8ed3b9bfb2108ec51121160533e8bd93b356cc98 (diff)
parent02c3289e75fa3926916465a47bbc0b889d105c4f (diff)
scary merge
Diffstat (limited to 'src/bardata.c')
-rw-r--r--src/bardata.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/bardata.c b/src/bardata.c
index 900cb6a..507d8f9 100644
--- a/src/bardata.c
+++ b/src/bardata.c
@@ -18,11 +18,6 @@ size_t comps_size = 0;
comp_t *comps_left[16], *comps_right[16], *comps_center[16];
size_t left_size = 0, right_size = 0, center_size = 0;
-void new_component(char *name) {
- strcpy(comps[comps_size].name, name);
- comps_size++;
-}
-
comp_t *find_comp(char *name) {
for (size_t i = 0; i < comps_size; i++) {
if (strcmp(comps[i].name, name) == 0) {
@@ -32,6 +27,14 @@ comp_t *find_comp(char *name) {
return NULL;
}
+void new_component(char *name) {
+ comp_t* existing = find_comp(name);
+ if (existing)
+ return;
+ strcpy(comps[comps_size].name, name);
+ comps_size++;
+}
+
void add_component(comp_side_t side, char *name) {
comp_t *comp = find_comp(name);
if (side == SIDE_LEFT) {
@@ -65,6 +68,9 @@ void set_component(char argv[MAX_ARGS][MAX_ARG_LEN], int argc) {
void set_layout(char argv[MAX_ARGS][MAX_ARG_LEN], int argc) {
comp_side_t side = SIDE_LEFT;
+ left_size = 0;
+ center_size = 0;
+ right_size = 0;
for (int i = 1; i < argc; i++) {
if (strcmp(argv[i], "-left") == 0) {