From 302dac831a6b13660752f95569fc03642876cb4d Mon Sep 17 00:00:00 2001 From: iamcheeseman <[hidden email]> Date: Sun, 1 Mar 2026 15:02:24 -0500 Subject: fixes and stuff --- src/bardata.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/bardata.c') diff --git a/src/bardata.c b/src/bardata.c index 8888ac3..7cdca78 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) { -- cgit v1.3-2-g0d8e