aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2019-02-20Make xgetaddrinfo() return a wildcard address for NULL host, and xconnbind()Rob Landley
always set SO_REUSEADDR (which won't reuse an active port but merely disables the strange "but reply packets might come in after we close the socket" hand-wringing timeout nobody's cared about in decades.)
2019-02-15Fix typos: e.g. change "cannonical" to "canonical".Jason Spiro
2019-02-13Move nanomove(), nanodiff(), union socksaddr, and xrecvwait() to lib.Rob Landley
2019-02-05The android NDK does not appear to have adjtime(). (It has the syscall, andRob Landley
it has clock_settime(), but not the libc adjtime() function...) *shrug* Stub it out in portability.h.
2019-02-03William Djupström pointed out that xexec() lost the absolute path check.Rob Landley
2019-01-22Fix sigjmp_buf/jmp_buf mismatches.Elliott Hughes
Broke the bionic build: external/toybox/toys/net/netcat.c:188:37: error: incompatible pointer types assigning to 'sigjmp_buf *' (aka 'long (*)[33]') from 'jmp_buf *' (aka 'long (*)[32]') [-Werror,-Wincompatible-pointer-types] if (toys.optflags&FLAG_L) NOEXIT(child = XVFORK()); ^~~~~~~~~~~~~~~~~~~~~~~~ external/toybox/lib/lib.h:375:19: note: expanded from macro 'NOEXIT' #define NOEXIT(x) WOULD_EXIT(_noexit_res, x) ^~~~~~~~~~~~~~~~~~~~~~~~~~ external/toybox/lib/lib.h:367:16: note: expanded from macro 'WOULD_EXIT' toys.rebound = &_noexit; \ ^ ~~~~~~~~ 1 error generated.
2019-01-18Teach xpoll() to measure time if interrupted, and wait for what's left.Rob Landley
2019-01-16Move xsendto() to lib/net.c.Rob Landley
2019-01-12sed: add -z.Elliott Hughes
Used to construct SELinux policies in the AOSP build. I left loopfiles_lines with its hard-coded '\n' because although cut(1) also has a -z option, I can't find any case where it's used in any of the codebases searchable by me. (And fmt(1), the other user, doesn't even have the option.) YAGNI. Bug: http://b/122744241
2019-01-12Merge xconnect/xbind.Rob Landley
2019-01-08xchdir: show the specific failure.Elliott Hughes
2019-01-08FreeBSD doesn't #define IUTF8 in termios.h, add workaround to portability.h.Rob Landley
2019-01-08FreeBSD will use the getmntinfo API as with AppleEd Maste
2019-01-08Ed Maste says freebsd hasn't got sys/xattr.h, so move it to portability.h.Rob Landley
2019-01-08Add FreeBSD endianness supportEd Maste
2018-12-27Make poke() alignment-agnostic.Rob Landley
2018-12-26Teach the argument plumbing how to do -@ for mkfs.vfatRob Landley
2018-12-23Add grep --colorRob Landley
2018-12-17Only set FLAGS_NODASH when arguments didn't have a dash.Rob Landley
This (eventually) lets "ps ax" and "ps -ax" behave differently.
2018-12-14Add xrename()Rob Landley
2018-12-10nc: add IPv6 support.Josh Gao
2018-12-07macOS: fix code using POSIX 2008 `st_[acm]tim` fields.Elliott Hughes
Hopefully they'll fix this properly at some point, but until then...
2018-12-07Forgot to check the portability.? changes. (Oops.)Rob Landley
2018-12-04macOS: move getmountlist.c functions into portability.c.Elliott Hughes
I think this was the preferred option for this code that turns out to be very different on Linux vs BSD. I don't yet have a BSD implementation, and I'm not likely to have chance to work on one in the near future, so this just #ifdefs it out for macOS right now. With this (and a suitably minimal .config), toybox builds for macOS out of the box.
2018-11-30macOS: remove unnecessary <stdio.h> workarounds.Elliott Hughes
These were added in macOS 10.7 in 2011-07, so the seven year rule applies...
2018-11-30macOS: work around header idiosyncracies.Elliott Hughes
2018-11-30macOS: fix endian macros for macOS.Elliott Hughes
I've also flipped the `#if` because `#ifdef` feels more naturally readable than #ifndef when there's also a `#else`. (I've preserved the oddness of the clearenv declaration being here, because there isn't currently a more suitable `#ifdef __APPLE__` to move it too. Later...)
2018-11-29Remove an extra #include <string.h>Rob Landley
2018-11-29macOS: remove glibc 2.10 workarounds.Elliott Hughes
The only part of this I actually need for macOS is to remove __APPLE__ from the getdelim/getline workaround, but if we're following the usual "seven year rule", glibc 2.10 is dead to us anyway, and we should just remove all of this.
2018-11-28macOS: there's no <features.h> on the Mac.Elliott Hughes
2018-11-28macOS: replace local strnstr with strcasestr.Elliott Hughes
bionic, glibc, macOS, and musl all have strcasestr (see http://man7.org/linux/man-pages/man3/strstr.3.html). macOS (via BSD) has a strnstr that does what strnstr sounds like it should do by analogy with strnlen and strncpy. So we at least need to rename strnstr, but it probably makes more sense just to switch to strcasestr instead.
2018-11-28macOS: noreturn.Elliott Hughes
The macOS libc headers use `__attribute__((noreturn))` rather than `__attribute__((__noreturn__))`, so toybox's `noreturn` macro trips them up. Since we already have a variety of uses of `__attribute__` that aren't guarded in this way, let's do the same here.
2018-10-28Rename interestingtimes.c to tty.c. (It's the "not curses" code.)Rob Landley
2018-10-27Dirtree shouldn't put a "No" in front of filename for "permission denied".Rob Landley
2018-10-22Don't call TIOCGWINSZ on non-ttysNick Kralevich
Prior to calling TIOCGWINSZ on stdin/stdout/stderr, check to see if the file descriptor is a tty. Calling TIOCGWINSZ on a non-tty doesn't make any sense. Calling TIOCGWINSZ on a non-tty is mildly problematic for systems like Android where strict ioctl filtering is in place, and generates SELinux audit noise. Strict ioctl filtering for non-filesystem fifo_files (eg pipe() or pipe2() generated pipes) was enabled in Android in commit https://android-review.googlesource.com/c/platform/system/sepolicy/+/792599
2018-10-21Make ./top -d .1234567890m work.Rob Landley
2018-10-21Add % to lib/args.c (long time in milliseconds), add xmillitime(), redoRob Landley
xparsetime() not to need floating point, adjust callers.
2018-10-21Move start_redraw() to lib/ and have ps.c (top) use it.Rob Landley
2018-10-20The static NDK fix broke the dynamic NDK build.Rob Landley
2018-10-10Fix static Android NDK build.Rob Landley
2018-10-10Rewrite of watch.Rob Landley
2018-10-10Trivial speedup to format_iso_time(), teach parsetime() leading garbage != 0.Rob Landley
2018-10-10Add xsignal_flags() and more consistently use xsignal() instead of signal().Rob Landley
xsignal() wraps sigaction() giving control of SA_RESTART behavior and such.
2018-10-07Fix non-android ps build.Rob Landley
2018-10-07libcutils isn't in the NDK.Elliott Hughes
Bug: https://github.com/landley/toybox/issues/43
2018-10-04Make it possible to build the AOSP .config against glibc.Elliott Hughes
It's possible that we should just pull setprop back out of toybox to live with getprop in system/core/, but this lets us build the same toybox configuration for device and host in AOSP. (Longer term we'd like to use host bionic, but if we enable this we can start experimenting on the tobyox side before the bionic side is finished.)
2018-09-16Nommu systems want to _exit() after vfork when exec fails, but should do ↵Rob Landley
cleanup ala fflush(0) after a normal exec() failure.
2018-09-15Fix glibc build after 013876f067a11ebfcf47789921b376e7bf3bf5b8.Elliott Hughes
/usr/include/unistd.h:626:15: error: conflicting types for 'confstr'
2018-09-09Variable data needs to go at the end.Rob Landley
2018-09-08Tweaks to make building with Android NDK's llvm happier.Rob Landley