aboutsummaryrefslogtreecommitdiff
path: root/common/stringop.c
AgeCommit message (Collapse)Author
2023-04-14Add format_str() and vformat_str()Simon Ser
Simple helpers to allocate and format a string.
2020-12-04common: make 'lenient_strcmp' arguments constPaul Riou
Prevents build failures when calling the function with 'const char *' arguments. This is also more accurate since the function is not expected to modify the args.
2019-11-23Amend typosJason
2019-11-21input_cmd_xkb_file: allow shell path expansionBrian Ashworth
This allows for shell path expansion for input_cmd_xkb_file. The logic has been extracted from output_cmd_background
2019-06-11Fix segfaults caused by faulty command parsingMatt Coffin
This patch fixes faulty command parsing introduced by f0f5de9a9e87ca1f0d74e7cbf82ffceba51ffbe6. When that commit allowed criteria reset on ';' delimeters in commands lists, it failed to account for its inner ','-parsing loop eating threw the entire rest of the string. This patch refactors argsep to use a list of multiple separators, and (optionally) return the separator that it matched against in this iteration via a pointer. This allows it to hint at the command parser which separator was used at the end of the last command, allowing it to trigger a potential secondary read of the criteria. Fixes #4239
2019-03-11stringop.c: refactor a few functionsIan Fan
2019-03-11stringop.c: clean up headersIan Fan
2019-03-11stringop.c: remove unused functionsIan Fan
The only use of `join_list` in swaybar/tray/icon.c has been rewritten.
2019-02-05output_cmd_background: fix no file + valid modeBrian Ashworth
If output_cmd_background is given a valid mode as the first argument, then there is no file given and an error should be returned. join_args should not be called with an argc of zero since it sets the last character to the null terminator. With an argc of zero, the length is zero causing a heap buffer overflow when setting the byte before the start of argv to '\0'. This probably will not ever generate a segfault, but may cause data corruption to whatever is directly before it in memory. To make other such cases easier to detect, this also adds a sway_assert in join_args when argc is zero.
2019-01-02fixup! stringop.c: rewrite strip_whitespaceIan Fan
2019-01-01stringop.c: rewrite strip_whitespaceIan Fan
2018-12-09list.c: Remove list_foreachIan Fan
Most occurrences have been replaced by `free_flat_list` which has been moved from stringop.c to list.c. The rest have been replaced by for loops.
2018-11-25Replace _XOPEN_SOURCE with _POSIX_C_SOURCEemersion
And make sure we don't define both in the same source file.
2018-09-01Allow reload command to exist anywhere in the command stringRyan Dwyer
This fixes a crash if you have commands where reload appears in the middle or at the end, such as `bindsym r mode default, reload`.
2018-05-25Clean up container title functionsRyan Dwyer
* 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
2017-06-06FreeBSD fixesjohalun
Increase _POSIX_SOURCE value where needed. Increase _XOPEN_SOURCE value where needed. Conditionally link to libcap (only on Linux). Possibly some trailing whitespace fixes (automatic).
2017-03-10UnGNUify the codebaseDrew DeVault
2016-04-29common/stringop.c: a premature decrement meant an element of argv was never ↵Daniel Lockyer
released
2016-04-02Fix spelling mistakesEric Engestrom
2016-01-25Add quotes to multiword arguments.Mikkel Oscar Lyderik
This adds quotes around multiword arguments before they are passed to `/bin/sh -c` in an exec command. Example: I connect to irc like this: exec termite -e "mosh server tmux a" Without this patch the arguments are passed to sh as: termite -e mosh server tmux a When it should be: termite -e "mosh server tmux a" For the command to work.
2015-11-29Only strip comments at the start of a lineDrew DeVault
This is necessary because i3 config files use CSS notation for colors (i.e. #rrggbb).
2015-11-26Parse command line args for swaymsgDrew DeVault