| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
POSIX requires an error if (for example) -L encounters a symlink loop.
The GNU find change was restricted to -xtype, so add a manual ELOOP test
to eval_xtype() for compatibility.
This reverts commit 470589cbd9ca3e73d8c01ac3a96cbc065179dcc5.
Link: https://savannah.gnu.org/bugs/?19605
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The POSIX Utility Syntax Guidelines specify that flag groups like -HL
should be handled like -H -L. GNU find doesn't support grouping flags
in this way, but BSD find does.
To avoid conflicts with non-flag primaries, for now we require at least
one flag in a group to be a capital letter. That is, we support things
like -Lds but not -ds. We also do not support -fPATH (without a space)
as it would conflict with -follow, -fprint, etc. It is impossible to be
compatible with both GNU and BSD find here:
user@gnu$ find -follow
link
link/file
...
user@bsd$ find -follow
find: ollow: No such file or directory
Link: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Based on the latest C23 draft (N3220):
- Argument types to generic bit functions should be unsigned
- Bit functions return unsigned int
- Byte-swapping functions (stdc_memreverse8*()) weren't added
- stdc_rotate_{left,right}() weren't added
- first_leading_*() counts from the *left*
|
|
|
|
| |
Closes: https://github.com/tavianator/bfs/issues/21
|
| |
|
|
|
|
|
| |
Link: https://savannah.gnu.org/bugs/index.php?65770
Link: https://github.com/kkos/oniguruma/issues/296
|
|
|
|
|
|
|
| |
GNU findutils just made the same change, so looping symlinks will be
considered broken rather than a hard error.
Link: https://savannah.gnu.org/bugs/?51926
|
|
|
|
| |
Link: https://savannah.gnu.org/bugs/?60207
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Some platforms define AT_FDCWD to a constant like 0xFFFAFDCD that gets
typed as an unsigned int.
|
| |
|
|
|
|
| |
This allows multiple hooks to be installed for a single signal.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This lets us do more traditional out-of-tree builds like
$ ../path/to/bfs/configure
$ make
The .mk files are moved from ./config to ./build, mostly so that
./configure will auto-complete easily.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
On Solaris/Illumos, `diff` prints "No differences encountered" if the
files are the same. Guard it with `cmp -s` so we get no output for
passing tests.
|
|
|
|
|
|
|
|
| |
POSIX has clarified that it's unspecified whether -newer uses times from
stat() or lstat(), because implementations vary. It does specify that
it must fall back to lstat() for broken links, so test that.
Link: https://austingroupbugs.net/view.php?id=1776
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The POSIX spec [1] lists some characters that may need to be escaped.
Unfortunately, the document uses ˜ (U+02DC SMALL TILDE) instead of ~
(U+007E TILDE), and I copy-pasted from it.
[1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_02
|
| |
|
| |
|
|
|
|
| |
__ORDER_NATIVE_ENDIAN__ is not a thing.
|
|
|
|
|
| |
wcwidth() returns -1 for non-printable characters, but terminals
typically don't print anything for them, so treat them as 0.
|
|
|
|
| |
Closes: https://github.com/tavianator/bfs/issues/133
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
POSIX specifies[1] that
If a thread accesses tzname, daylight, or timezone directly while
another thread is in a call to tzset(), or to any function that is
required or allowed to set timezone information as if by calling
tzset(), the behavior is undefined.
So calling it lazily from arbitrary threads is risky.
[1]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/tzset.html
|
|
|
|
|
|
|
| |
Otherwise, if the test files are created just before midnight, and the
test runs just after midnight, -daystart will consider them one day old.
Fixes #132
|
| |
|
|
|
|
|
| |
We now report failures and continue, rather than aborting after the
first failure.
|
| |
|