aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-05-25 21:07:59 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-05-25 21:07:59 +1000
commitdb38b9bbf3cce4083c538209a7ce5ef1a1cf5f3f (patch)
tree3ee9f0c2bf76907b2854bf6ba2be8ab124b74fb9 /common
parent3c77f066a532efd3df0f2072d02fa4353b4a4511 (diff)
downloadsway-db38b9bbf3cce4083c538209a7ce5ef1a1cf5f3f.tar.xz
Clean up container title functions
* Add and use lenient_strcat and lenient_strncat functions * Rename `concatenate_child_titles` function as that's no longer what it does * Rename `container_notify_child_title_changed` because we only need to notify that the tree structure has changed, not titles * Don't notify parents when a child changes its title * Update ancestor titles when changing a container's layout * Eg. create nested tabs and change the inner container to stacking * No need to store tree presentation in both container->name and formatted_title
Diffstat (limited to 'common')
-rw-r--r--common/stringop.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/common/stringop.c b/common/stringop.c
index 4a37543d..d9ae9925 100644
--- a/common/stringop.c
+++ b/common/stringop.c
@@ -55,6 +55,20 @@ void strip_quotes(char *str) {
*end = '\0';
}
+char *lenient_strcat(char *dest, const char *src) {
+ if (dest && src) {
+ return strcat(dest, src);
+ }
+ return dest;
+}
+
+char *lenient_strncat(char *dest, const char *src, size_t len) {
+ if (dest && src) {
+ return strncat(dest, src, len);
+ }
+ return dest;
+}
+
// strcmp that also handles null pointers.
int lenient_strcmp(char *a, char *b) {
if (a == b) {