Age | Commit message (Collapse) | Author |
|
have a shortopt for it.
|
|
|
|
to utimensat() which offers nanosecond granularity and UTIME_OMIT/UTIME_NOW.
|
|
|
|
don't need a separate xexec_optargs().
|
|
(If you had a chmod 000 directory and did rm -r on it without -f, after the prompt it would complain it was a directory.)
|
|
faccessat(AT_SYMLINK_NOFOLLOW) is not supported.
|
|
The problem was that readline() was returning a newline at the end of each
string, which wasn't getting stripped in the parser and thus \ wasn't at the
end of a line for -f, it was escaping a literal newline, so the continuation
logic didn't trigger. Remove some redundant null checks while we're at it,
and don't bother terminating a string we don't return (yes we leak memory
in an error path, but it's about to error_exit() anyway).
|
|
|
|
a static inline in portability.h, and prototype dirname() while we're at it.
|
|
|
|
the SELinux commands (such as chcon) and the SELinux-specific options
to regular commands (such as ls -Z).
This lets us #include <selinux/selinux.h> in portability.h.
I've also fixed chcon to insist on being given the a context argument.
This patch also adds -Z to id and fixes id's regular output (-G should
be separated by spaces, non-G output should be separated by commas,
and you don't want a double comma where the egid is omitted from the
list of groups).
|
|
but it's a start.)
|
|
toolbox (NetBSD) chown...
new test:
and here's the patch to fix "owner:" ":group" and the ":" special case:
|
|
|
|
resume position, so the script would restart from beginning.
|
|
without a \ escaping the newline.
|
|
|
|
|
|
macros for a disabled command (needed when multiple commands share infrastructure with a common set of flags).
This means the flag space is no longer packed, but leaves gaps where the zeroes
go. (Actual flag bit positions are the same for all configs.) Since the
option parsing needs to know where the holes are, the OPTSTR values are
now generated as part of flags.h with ascii 1 values for the disabled values.
(So generated/oldflags.h went away.)
This also means that the option string argument for OLDTOY() went away, it now
uses the same arguments as the NEWTOY() it references.
|
|
the end and option parsing fell off the end looking for it (segfault) if DEBUG wasn't enabled to check for that.
|
|
random other symbol name (because gnu) and this screws up nontrivial macro expansions of NEWTOY(basename), so work around it in portability.h.
|
|
infrastructure upgrades needed to restore separate catv option.
|
|
|
|
the same command.)
|
|
|
|
MV still requires CP enabled until the flag generation logic gets updated.
|
|
warning.
|
|
The tizen guys wanted this. Yeah, I know there's base64 code in
uuencode/uudecode, but that this has -i, input lines aren't of fixed length,
encode/decode are in same file, there's no prefix/suffix code, it always
writes to stdout... Eliminating the code duplication wouldn't be worth
the if/else I'd have to add, so I just did a new one.
Factored out the base64 table init into lib.c though: that was worth sharing.
|
|
shouldn't loop endlessly.
|
|
tweaking the spacing.
I didn't apply the POSIXLY_CORRECT gnuism because it's a can of worms (as would
be LSB_CORRECT), and you can presumably alias df="df -P" if you want that.
Possibly in future I should factor out the "readahead and align columns based
on measuring the largest value in each" code from ls and apply it here.
|
|
|
|
Android is missing all of these; we need to probe for some so we have
a config symbol to depend on.
sethostname() is easily replaced.
We got termios.h via pty.h; now it's not included in configure-step tools,
so we need termios.h to generate globals.
|
|
Once we've read through the initial TT.bytes backlog we discard the extra data,
meaning we adjust the remaining amount each time so the overflow is zero bytes.
We were doing the adjustment right, but not zeroing out the overflow counter
after we did so.
|
|
symlink following.
|
|
without -H or -L (just like ls -l).
|
|
|
|
Suggested by Ashwini Sharma, I wound up implementing it by creating the new
link at a temporary name and renaming it over the old one instead of renaming
the old file out of the way and putting it back if it failed.
(Because "mkdir -p one/one/blah && ln -sf /bin/one one" would otherwise
rename one/one out of the way and only notice it can't delete it way at the
end when recovery's darn awkward, vs create new thing and if rename fails
(including EISDIR) that's the main error path. And yes the temporary name
is in the same directory as the destination so we never rename between mounts.)
link over the old one instead of renaming the old file and renaming it back.
|
|
|
|
|
|
|
|
|
|
|
|
analysis, plus occasional tweak by me while reviewing them.
|
|
We xstrdup() an optargs string to avoid modifying our environment space
(because it can change what "ps" shows to other processes), and then parse
out colon delimited strings and save them in globals that can later be used
in the -v codepath and so on. But those globals _aren't_ strdup (no point)
which means we can't free the string while we're still using pointers into
the middle of it. So move the free to the end.
(I hardly ever test with CFG_TOYBOX_FREE switched on because even nommu
doesn't need it.)
|
|
for libc, so we have to implement it here.
|
|
|
|
into GLOBALS.
|
|
search.
(Fixes messages about not being able to delete directories when running make test).
|
|
|