Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-08-13 | Move getusername/getgroupname to lib. (Return name or string representation | Rob Landley | |
of number, but never NULL. Both returned in static buffer good through next call.) | |||
2016-08-04 | Make xopen() skip stdin/stdout/stderr, add xopen_stdio() if you want stdout, | Rob Landley | |
add xopenro() that takes one argument and understands "-" means stdin, and switch over lots of users. | |||
2016-07-26 | Move regexec0 into lib (regexec that takes length and matches after NUL). | Rob Landley | |
2016-07-15 | Don't close stdin when loopfiles reads "-". | Rob Landley | |
2016-07-13 | Bugfix: suffixless string was feeding terminating NUL to strchr() and matching. | Rob Landley | |
2016-07-12 | Convert atolx() and friends to use long long internally. Update design.html | Rob Landley | |
to use this (and tail) as examples of simplicity of implementation winning and losing. | |||
2016-06-15 | Add readlink0() and readlinkat0() which null terminate the data. | Rob Landley | |
2016-05-20 | Add bufgetgrgid() | Rob Landley | |
2016-05-17 | Add bufgetpwuid. (Repeated calls to getpwuid() are really expensive.) | Rob Landley | |
2016-04-10 | Didn't check in all my local basename_r->getbasename changes. (Oops.) | Rob Landley | |
2016-04-08 | Redefining basename_r to mean something random seems popular (bionic and freebsd | Rob Landley | |
both did it) so use getbasename instead. | |||
2016-03-29 | Fix exit code of things like sed -i that use tempfile_handler(). | Rob Landley | |
(The sigatexit() handler list code now calls the handlers on the normal exit path, so _exit(1) from the handler is wrong; exit_signal() modifies toys.exitval if necessary.) | |||
2016-03-13 | Split out _xexit() from xexit() and give sigatexit() multiple callbacks. | Rob Landley | |
2016-03-02 | For years the man pages have said to #include <sys/types.h> to get | Rob Landley | |
major/minor/makedev, but glibc has vowed to break existing programs (https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html) and replace it with _another_ non-standard header (not in posix or lsb), so let's just add functions to lib/ that do the transform ourselves. | |||
2016-02-19 | Implement "insmod -". | Elliott Hughes | |
Also use finit_module if available. Given that "insmod -" requires init_module, maybe this isn't a worthwhile optimization. Given that "insmod /actual/file.ko" is the common use case, maybe it is. Fix a bug in readfileat where *plen would be corrupted if you didn't supply your own buffer (because ibuf is 0 in that case, not a pointer to the start of the allocated space). | |||
2016-02-14 | Implement file(1). | Elliott Hughes | |
Unlike the POSIX file(1), there's no magic file here, just hard-coded common (non-obsolete) file formats. Personally most of my use of file(1) is as a one-line readelf(1) summarizer, so although I assume a full POSIX file(1) is out of scope (because just the database would likely be larger than all the rest of toybox), a subset that only supports in-use file types actually covers most of the use cases I encounter personally. Also fix peek_be/peek_le. | |||
2016-02-10 | Factor out strnstr() since posix hasn't got it, and add a config option for | Rob Landley | |
the deeply sad passwd heuristics that don't even check numbers and punctuation. | |||
2016-01-22 | Factor out insanitize() from seq.c to next_printf() in lib. | Rob Landley | |
2016-01-20 | First stab at making readfileat() realloc() in a loop to read long files. | Rob Landley | |
2016-01-17 | Extend utf8 fontmetrics so ps can use them. | Rob Landley | |
Also, I forgot to check in uuid_show() last time. | |||
2016-01-16 | Move create_uuid() to lib and xpoll() to lib/net.c. | Rob Landley | |
2016-01-10 | Fix perror_exit_raw. | Elliott Hughes | |
Some things are worse when you remove the 'p'. | |||
2016-01-08 | Fix cat -. | Elliott Hughes | |
Commit 4b4ab6a50998 broke loopfiles' handling of "-". This broke the existing cat tests, so no new test is necessary here. | |||
2016-01-05 | Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable format | Rob Landley | |
checking, and fix up format checking complaints. Added out(type, value) function to stat to avoid a zillion printf typecasts. | |||
2015-12-29 | Add strafter() to lib. | Rob Landley | |
2015-12-27 | Add scan_key_getsize() doing the ANSI probe, switch scan_key() to TAGGED_ARRAY, | Rob Landley | |
and add test_scankey. | |||
2015-11-26 | Split do_ps() into get_ps() and show_ps() as a start on implementing --sort. | Rob Landley | |
Change readfileat() to pass back length of read. | |||
2015-11-02 | If chomp() needs to test it found \n, should also test it's at end of string. | Rob Landley | |
2015-11-02 | Add ps -Z. | Elliott Hughes | |
As with ls, it doesn't seem like -Z should be guarded behind LSM availability. On a non-SELinux system, the label is always "unconfined". | |||
2015-09-29 | help_exit() tweak. | Rob Landley | |
2015-09-11 | Replace toys.exithelp with help_exit() in lib. | Rob Landley | |
2015-09-07 | Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself. | Rob Landley | |
This fixes the build break, the change to yesno() prototype accidentally got checked in last commit. (Oops, sorry.) | |||
2015-09-06 | Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes, | Rob Landley | |
and update the tests. | |||
2015-09-03 | Make human_readable() handle base 1024 units without floating point. | Rob Landley | |
Rounds correctly via brute force, displayed digits are decimal even when working with powers of 2, shows at most 3 significant (decimal) digits. (So no "1023M" nonsense, that's 1.0G.) | |||
2015-08-08 | Different tools have different ideas about what human-readable output | Elliott Hughes | |
looks like. dd uses "7 MB" where du uses "7M", for example. this patch adds flags, similar to the BSD humanize_number. most callers will pass 0. | |||
2015-08-08 | First pass at proper bunzip2 command line handling. | Rob Landley | |
2015-08-01 | Move strlower() from find to lib. | Rob Landley | |
2015-07-10 | Add a basename_r() and use it in names_to_pid() to avoid basename() overwriting | Rob Landley | |
itself on some inputs. (Which makes killall really impolite. Bug report from Nicholas Noury via Elliott Hughes.) | |||
2015-05-08 | Move not-curses code into interstingtimes.c | Rob Landley | |
2015-04-30 | Remove redundant numlen. | Rob Landley | |
2015-04-27 | Some infrastructure hexedit needs. (Poor man's curses.) | Rob Landley | |
2015-04-19 | Cleanup getprop, add qstrcmp() to lib for qsort (because posix-2008 broke | Rob Landley | |
alphasort), add compile-time probe for config symbol TOYBOX_ON_ANDROID. | |||
2015-04-16 | terminal_size should use LINES, not ROWS. | Elliott Hughes | |
The shell's pseudo-variable is called LINES. This is true of at least bash and mksh. | |||
2015-04-03 | Add readfileat() to lib | Rob Landley | |
2015-03-23 | Tweak of Elliott Hughes's fix for an off by one error in human_readable | Rob Landley | |
(137 returned "137 KB".) | |||
2015-01-18 | Remove trailing whitespace. | Rob Landley | |
2015-01-01 | strtol() doesn't return error indicator for overflow, it just sets errno. So ↵ | Rob Landley | |
add estrtol() (which clears errno first), and xstrtol() (which error_exit()s on overflow). | |||
2014-12-22 | Allocate space for null terminator. | Rob Landley | |
2014-12-13 | Add base64. | Rob Landley | |
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. | |||
2014-12-13 | Remove more strncpy() calls. | Rob Landley | |
The semantics of strncat() and strncpy() are non-obvious, so let's not use 'em. Both zero all their remaining buffer space, and with strncat() the size is the space left at the _end_ of the string (not the size of the buffer) so it's way too easy to stomp memory you don't own. As long as we have to measure stuff ourselves to get it right, just use memcpy(). |