Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | parse.c: Use state->last_arg as the location for the expected ) | Tavian Barnes | 2022-03-27 | 1 | -16/+4 |
| | | | | This lets us remove the special case for *argv == NULL. | ||||
* | parse: Highlight command line errors | Tavian Barnes | 2022-03-27 | 1 | -147/+299 |
| | |||||
* | diag: New functions for highlighting command line arguments | Tavian Barnes | 2022-03-27 | 1 | -6/+20 |
| | |||||
* | opt: Warn about expressions we remove while optimizing | Tavian Barnes | 2022-03-26 | 1 | -0/+5 |
| | |||||
* | parse: Stop warning for options after tests/actions | Tavian Barnes | 2022-03-26 | 1 | -44/+7 |
| | | | | | | | | | | | Part of the bfs design philosophy is to care less about the order of arguments. As such, there's no good reason to be warning-compatible with GNU find in this case. I don't even think things like this are confusing: bfs -print -color so why warn about it? | ||||
* | expr: Store auxilliary data in a union | Tavian Barnes | 2022-03-25 | 1 | -332/+325 |
| | | | | And rename struct expr to bfs_expr. | ||||
* | Don't shadow standard headers | Tavian Barnes | 2022-03-12 | 1 | -3/+3 |
| | | | | | | | | | | | | | @italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR | ||||
* | parse: Check for globs with unescaped trailing backslashes | Tavian Barnes | 2022-02-28 | 1 | -2/+23 |
| | | | | | | | | | | Both macOS and musl fail to fail on an unescaped backslash, so check for it ourselves. Link: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html Link: https://github.com/void-linux/void-packages/pull/35836 Link: https://www.openwall.com/lists/musl/2022/02/25/2 Link: https://www.austingroupbugs.net/view.php?id=806 | ||||
* | regex: Rework error handling | Tavian Barnes | 2022-02-24 | 1 | -12/+13 |
| | |||||
* | regex: Wrap the POSIX API in a facade | Tavian Barnes | 2022-02-21 | 1 | -13/+4 |
| | |||||
* | regex: Add support for emacs and grep types | Tavian Barnes | 2022-02-04 | 1 | -8/+18 |
| | |||||
* | parse: Add support for ed and sed regexes | Tavian Barnes | 2022-01-30 | 1 | -1/+6 |
| | | | | They're apparently the same as POSIX basic regexes. | ||||
* | Standardize WITH_* make variables for configuring dependencies | Tavian Barnes | 2022-01-29 | 1 | -1/+1 |
| | |||||
* | Simplifying | data-man | 2022-01-24 | 1 | -6/+1 |
| | |||||
* | Using Oniguruma library (optionally) | data-man | 2022-01-24 | 1 | -1/+6 |
| | |||||
* | util: New close() wrappers to check for EBADF and preserve errno | Tavian Barnes | 2022-01-18 | 1 | -4/+4 |
| | |||||
* | parse: Switch back to O_TRUNC from explicit ftruncate() | Tavian Barnes | 2021-10-19 | 1 | -16/+7 |
| | | | | | | | | O_TRUNC is not equivalent to an unconditional ftruncate(), e.g. for device files. This reverts the behaviour change from 78944c81, which was never released and is not supported in other find implementations. | ||||
* | parse: Fix UAF + double-free when ftruncate() fails | Tavian Barnes | 2021-10-19 | 1 | -5/+8 |
| | |||||
* | tests: Add tests for parsing invalid integers | Tavian Barnes | 2021-10-01 | 1 | -4/+20 |
| | | | | And give some better error messages. | ||||
* | Don't truncate files until we know they're not duplicates | Tavian Barnes | 2021-09-26 | 1 | -13/+32 |
| | |||||
* | util: New xfopen() utility | Tavian Barnes | 2021-09-21 | 1 | -1/+1 |
| | | | | | And use it to pass O_CLOEXEC to all FILE*'s, so the files opened for -fprint etc. don't get passed to the programs run by -exec etc. | ||||
* | ctx: Also deduplicate the standard streams | Tavian Barnes | 2021-09-21 | 1 | -2/+19 |
| | | | | | | This fixes some potential missing output when the same file is used in a redirection and something like -fprint. The main benefit is smarter handling of /dev/stdout, which will now share the CFILE* with cout. | ||||
* | Fix the order of -fprintf FILE FORMAT in the docs | Tavian Barnes | 2021-09-15 | 1 | -1/+1 |
| | |||||
* | Implement -files0-from FILE | Tavian Barnes | 2021-09-15 | 1 | -4/+89 |
| | | | | | See https://savannah.gnu.org/bugs/?60383 for the development of the corresponding GNU find feature. | ||||
* | eval: Use 512-byte blocks for -ls when POSIXLY_CORRECT is set | Tavian Barnes | 2021-09-02 | 1 | -1/+3 |
| | | | | | This matches the behaviour of GNU find, and allows bfs to match the output of BSD find as well. Fixes #77. | ||||
* | parse: More -help pager improvements | Tavian Barnes | 2021-06-13 | 1 | -39/+24 |
| | | | | | | | | | | If $PAGER is unset, we now try less if it exists, then fall back to more. Colors are only used if less is the used pager, since more on non-coreutils platforms doesn't always handle colors. Finally, less's configuration is given on the command line, which works better if the user has $LESS already set. Fixes https://github.com/tavianator/bfs/issues/76. | ||||
* | util: Rename fallthrough to BFS_FALLTHROUGH | Tavian Barnes | 2021-06-09 | 1 | -9/+9 |
| | | | | This avoids shadowing the actually standard name fallthrough. | ||||
* | Implement time units for -{a,B,c,m}time | Tavian Barnes | 2021-06-02 | 1 | -11/+84 |
| | | | | From FreeBSD find. Closes #75. | ||||
* | Enable -Wimplicit-fallthrough | Tavian Barnes | 2021-06-02 | 1 | -5/+5 |
| | |||||
* | parse: launch_pager(): set the LESS environment variable if it is empty. | Markus F.X.J. Oberhumer | 2021-04-14 | 1 | -7/+12 |
| | |||||
* | parse: check if PAGER environment variable is empty. | Markus F.X.J. Oberhumer | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Support -flags on all the BSDs | Tavian Barnes | 2021-03-06 | 1 | -26/+9 |
| | |||||
* | Implement -flags, from FreeBSD find | Tavian Barnes | 2021-03-06 | 1 | -0/+55 |
| | | | | This is the last BSD-specific primary I'm aware of. Fixes #14. | ||||
* | Update copyright dates | Tavian Barnes | 2021-02-05 | 1 | -1/+1 |
| | |||||
* | dir: New DIR* facade | Tavian Barnes | 2021-01-28 | 1 | -10/+11 |
| | |||||
* | parse: Fix the token type of -nowarn | Tavian Barnes | 2021-01-24 | 1 | -1/+1 |
| | |||||
* | -perm: Use +t instead of ug+t | Tavian Barnes | 2021-01-13 | 1 | -2/+4 |
| | | | | | | | | | The chmod spec says that ug+t is unspecified, and only +t or a+t is guaranteed to actually set the sticky bit. In practice GNU tools respect o+t as well, but ignore u+t/g+t. Fix the implementation to match GNU, and only test the POSIX required parse. | ||||
* | Give messages to unconditional assertion failures | Tavian Barnes | 2020-12-02 | 1 | -1/+1 |
| | |||||
* | parse: Clean up debug flag parsing/printing | Tavian Barnes | 2020-12-02 | 1 | -37/+22 |
| | |||||
* | parse: Don't pass an uninitialized regex_t to regerror() | Tavian Barnes | 2020-11-28 | 1 | -1/+1 |
| | |||||
* | Include what I use | Tavian Barnes | 2020-11-12 | 1 | -4/+3 |
| | | | | Thanks to https://github.com/include-what-you-use/include-what-you-use | ||||
* | New -status option to display a status bar | Tavian Barnes | 2020-11-03 | 1 | -3/+16 |
| | |||||
* | exec: Adjust some calling conventions | Tavian Barnes | 2020-10-06 | 1 | -3/+3 |
| | |||||
* | printf: Adjust some calling conventions | Tavian Barnes | 2020-10-06 | 1 | -3/+3 |
| | |||||
* | diag: New bfs_perror() function | Tavian Barnes | 2020-10-05 | 1 | -16/+23 |
| | |||||
* | parse: Fail if -color is passed and the colors couldn't be parsed | Tavian Barnes | 2020-10-04 | 1 | -0/+10 |
| | |||||
* | parse: More accurate error reporting for cfdup() | Tavian Barnes | 2020-10-04 | 1 | -1/+7 |
| | |||||
* | parse: Report errors when failing to add a root | Tavian Barnes | 2020-10-04 | 1 | -1/+5 |
| | |||||
* | Rename struct cmdline to bfs_ctx | Tavian Barnes | 2020-09-27 | 1 | -310/+172 |
| | | | | | The API remains similar, with some added accessor functions for lazy initialization of the pwcache and mtab. | ||||
* | stat: Rename bfs_stat_flag to _flags | Tavian Barnes | 2020-09-18 | 1 | -1/+1 |
| | | | | Flags enums should be plural. |