diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-04-19 22:44:11 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-04-20 09:14:41 -0600 |
commit | 9099adbbe6fffcd7510b31efc8e547da7fa24f65 (patch) | |
tree | 96535c4292d14ca1e5315d387f0282f78cd7167a /swaynag/config.c | |
parent | ipc: fix criteria for emitting bar_state_update (diff) | |
download | sway-9099adbbe6fffcd7510b31efc8e547da7fa24f65.tar.gz sway-9099adbbe6fffcd7510b31efc8e547da7fa24f65.tar.zst sway-9099adbbe6fffcd7510b31efc8e547da7fa24f65.zip |
swaynag: revamp type configs
This revamps the type configs for swaynag. All sizing attributes for
swaynag are now `ssize_t` instead of `uint32_t` to allow for a default
value of `-1`, which allows for `0` to be a valid value. Additionally,
the initialization of the type configs has been changed from a simple
calloc to use a new function `swaynag_type_new`. `swaynag_type_new`
calloc's the memory, checks for an allocation failure, sets the name,
and all sizes to -1. The layering order has also been changed to
default, general config, type config, and as highest priority command
line arguments. Finally, `swaynag_type_merge` has been modified to
handle the layering and sizing changes.
Diffstat (limited to 'swaynag/config.c')
-rw-r--r-- | swaynag/config.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/swaynag/config.c b/swaynag/config.c index fb2aa820..2fa7cb61 100644 --- a/swaynag/config.c +++ b/swaynag/config.c | |||
@@ -332,9 +332,7 @@ int swaynag_load_config(char *path, struct swaynag *swaynag, list_t *types) { | |||
332 | return 0; | 332 | return 0; |
333 | } | 333 | } |
334 | 334 | ||
335 | struct swaynag_type *type; | 335 | struct swaynag_type *type = swaynag_type_new("<config>"); |
336 | type = calloc(1, sizeof(struct swaynag_type)); | ||
337 | type->name = strdup("<config>"); | ||
338 | list_add(types, type); | 336 | list_add(types, type); |
339 | 337 | ||
340 | char *line = NULL; | 338 | char *line = NULL; |
@@ -364,8 +362,7 @@ int swaynag_load_config(char *path, struct swaynag *swaynag, list_t *types) { | |||
364 | strncat(name, line + 1, close - line - 1); | 362 | strncat(name, line + 1, close - line - 1); |
365 | type = swaynag_type_get(types, name); | 363 | type = swaynag_type_get(types, name); |
366 | if (!type) { | 364 | if (!type) { |
367 | type = calloc(1, sizeof(struct swaynag_type)); | 365 | type = swaynag_type_new(name); |
368 | type->name = strdup(name); | ||
369 | list_add(types, type); | 366 | list_add(types, type); |
370 | } | 367 | } |
371 | free(name); | 368 | free(name); |