aboutsummaryrefslogtreecommitdiff
path: root/lib/lib.h
AgeCommit message (Collapse)Author
2016-09-04Add openro() and WARN_ONLY flag so xopen() and friends can warn without exiting.Rob Landley
2016-09-03Move genericish function to lib.Rob Landley
2016-08-18Change xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id numberRob Landley
instead of a struct. This means it can return "12345" even if that user/group doesn't exist in /etc/passwd and similar. All the users were immediately dereferencing it to get pw_uid or gr_gid anyway, so just return it directly and adjust the users. This fixes things like "chown 12345:23456 filename".
2016-08-13Move getusername/getgroupname to lib. (Return name or string representationRob Landley
of number, but never NULL. Both returned in static buffer good through next call.)
2016-08-04Make 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-26Move regexec0 into lib (regexec that takes length and matches after NUL).Rob Landley
2016-07-12Convert atolx() and friends to use long long internally. Update design.htmlRob Landley
to use this (and tail) as examples of simplicity of implementation winning and losing.
2016-07-08dd improvements.Elliott Hughes
Support hex (requested by users). Support status=noxfer and status=none (requested by users). Fix status output. Clarify large numbers in --help output. Use O_TRUNC rather than ftruncate unless we're also seeking. New tests. Also partial cleanup (reuse of existing code, removal of non-GLOBALS globals, and merge dd_main and do_dd).
2016-06-19Last commit depends on new lib code I forgot to check in. (Oops.)Rob Landley
2016-06-15Add readlink0() and readlinkat0() which null terminate the data.Rob Landley
2016-05-20Add bufgetgrgid()Rob Landley
2016-05-17Add bufgetpwuid. (Repeated calls to getpwuid() are really expensive.)Rob Landley
2016-04-21Have dirtree_recurse() take the new dirfd as an argument.Rob Landley
2016-04-08Redefining basename_r to mean something random seems popular (bionic and freebsdRob Landley
both did it) so use getbasename instead.
2016-03-29Fix build when wchar_t is unsigned.Elliott Hughes
external/toybox/lib/linestack.c:84:5: error: conflicting types for 'crunch_str' int crunch_str(char **str, int width, FILE *out, char *escmore, ^ external/toybox/lib/lib.h:228:5: note: previous declaration is here int crunch_str(char **str, int width, FILE *out, char *escmore, ^ I'm not sure whether the interface was intended to be wchar_t or int, but switching to int is the smaller change...
2016-03-15Add ls -b and make ls -q work with utf8.Rob Landley
2016-03-13Split out _xexit() from xexit() and give sigatexit() multiple callbacks.Rob Landley
2016-03-07Cleanup pass on the dirtree infrastructure, in preparation for making rm -rRob Landley
handle infinite depth. Fix docs, tweak dirtree_handle_callback() semantics, remove dirtree_start() and don't export dirtree_handle_callback(), instead offer dirtree_flagread(). (dirtree_read() is a wrapper around dirtree_flagread passing 0 for flags.)
2016-03-02For years the man pages have said to #include <sys/types.h> to getRob 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-10Factor out strnstr() since posix hasn't got it, and add a config option forRob Landley
the deeply sad passwd heuristics that don't even check numbers and punctuation.
2016-02-09Fix xpipe. (thinko.)Rob Landley
2016-02-08Add xpipe() to lib.Rob Landley
2016-01-28Bugfix I forgot to checkin, plus a wrapper function.Rob Landley
2016-01-22Factor out insanitize() from seq.c to next_printf() in lib.Rob Landley
2016-01-17Extend utf8 fontmetrics so ps can use them.Rob Landley
Also, I forgot to check in uuid_show() last time.
2016-01-17Update draw_str() and friends to do standard escaping for ^X <AB> U+ABCD.Rob Landley
2016-01-16Move create_uuid() to lib and xpoll() to lib/net.c.Rob Landley
2016-01-10Make cursor left/right change sort type in iotop.Rob Landley
2016-01-07Make scan_key() specify timeout in miliseconds, split out terminal_probesize(),Rob Landley
add function key definitions and shift/ctrl/alt cursor keys.
2016-01-05Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable formatRob Landley
checking, and fix up format checking complaints. Added out(type, value) function to stat to avoid a zillion printf typecasts.
2015-12-29Add strafter() to lib.Rob Landley
2015-12-27Add scan_key_getsize() doing the ANSI probe, switch scan_key() to TAGGED_ARRAY,Rob Landley
and add test_scankey.
2015-12-24Move get_line() header to pending.h because posix has FILE * versions.Rob Landley
2015-12-23Factor out draw_str() and friends.Rob Landley
2015-12-06Rename dirtree->data to dirfd, and don't store symlink length in it.Rob Landley
2015-11-26Split 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-08NOEXIT(thingy()) wrapper to turn xwrap() functions into warning versions.Rob Landley
Also WOULD_EXIT(x, thingy()) to set a variable to 1 or 0 showing whether or not thingy() tried to exit. I'd love to be able to do "x = NOEXIT(thingy());" but haven't figured out a syntax to make that work yet...
2015-11-02Add 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-10-28Oops, forgot to check in the header file change for ps.c.Rob Landley
2015-10-27Replace xcount_cpus() with a call to sysconf(_SC_NPROCESSORS_CONF)Rob Landley
2015-10-25Add xcount_cpus()Rob Landley
2015-09-29Make defconfig build for nommu.Rob Landley
Adds XVFORK() macro, teaches xpopen_both() to call /proc/self/exe with NULL argv (and converts cpio -p to use that), adds TOYBOX_FORK guards to some unconverted commands.
2015-09-27Another chunk of nommu support, replacing toys.recursion with toys.stacktop.Rob Landley
2015-09-23Add xvfork() as a static inline and use it from various places.Rob Landley
Note: vfork(), like fork(), can return -1 if too many processes, and we should notice and fail loudly.
2015-09-11Replace toys.exithelp with help_exit() in lib.Rob Landley
2015-09-06Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes,Rob Landley
and update the tests.
2015-09-03Make 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-08Different tools have different ideas about what human-readable outputElliott 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-05Tweak xconnect: socket can be a string (ala "ftp") from /etc/services.Rob Landley
Still need a rethink on how to handle socket/bind/connect sequence.
2015-08-03Factor out xconnect(), plus some other small cleanups to telnet.c.Rob Landley