aboutsummaryrefslogtreecommitdiff
path: root/toys/pending
AgeCommit message (Collapse)Author
2019-03-28vi.c improved utf-8 supportJarno Mäkipää
Now calculates utf-8 rune width properly before trying to print on screen. works with test1.txt and test2.txt on tests/files/utf8 folder with 0x0300-0x036F combining chars Uses mbtowc and wcwidth to calculate width of rune. These both should be implemented on c runtime that conforms POSIX-1.2001. Different c runtimes might have different level of support to combining char ranges etc... I think there is no standard way to calculate utf-8 rune width without converting it first to widechar. And i think conversion to widechar just to calculate width is silly, since all write calls can be done with utf8 directly (on utf8 locales ofc), but in order to calculate them yourself without pointless conversion, one would need to write variable byte lookup array for binary searching weird ranges and make sure it works with big-endian systems too... By the way running ./watch ./cat tests/files/utf8/japan.txt does not print the text for some reason, but other test data does... I was checking how well original crunch_str works and noticed it. -Jarno
2019-03-27Skip file contents in error case.Rob Landley
2019-03-27Silence another broken gcc "tar is never used uninitialized" warning.Rob Landley
2019-03-27Cleanup extract_to_disk(), enforce "file creation must be under cwd),Rob Landley
implement deferred utime updates (so directory timestamps correct).
2019-03-25Fix bc_vec_concatDaniel Rosenberg
BcVec contains the null at the end, so v->len is greater than strlen(v->v) by one.
2019-03-24vi: Code style cleanupJarno Mäkipää
Variable initialization to start of blocks Space after if,for,while: if() -> if () Space after comma on function calls: write(fd,buf,count); -> write(fd, buf, count); Spaces surrounding variable initialization Pointer * binding to variable instead of type: int* i -> int *i Spaces surrounding compare operators No spaces surrounding arimetic operators Some aligntment whitespace fixes Still messy and needs more cleanup, but there is bigger issues to solve first.
2019-03-23vi: Removed C99/GNU99 style for loop initializersJarno Mäkipää
Removed for(int i = 0;....) style loop initializers to be consistant with project style. Removed few unused global variables Added 2 empty white space lines back to CONFIG comment section.
2019-03-23vi.c double_list based implementation.Jarno Mäkipää
Has beginnings of reading file, saving file, hjkl movement, insert, ex (only w, wq, q!), search with /, some other normal mode actions (dd, w, b, e), some utf8 support Everything is still very unfinished and partly behaves wrongly comparing to original vi. But simple tasks like modifying short config files should be possible. Some things like draw_page needs serious refactor since it now writes whole screen after every keypress. Didint bother to refactor yet if linked list needs to be replaced with something else...
2019-03-22Silence stupid, pointless warnings.Rob Landley
Two "is never used uninitialized" and one "we don't trust you to get clearly documented operator precedence right". (The compiler may not "suggest". Every time I go "abc && def || exit 1" in the shell it means I know the operator precedence _and_ the short-circuit rules, which are the same as C here. This is a warning aimed at C++ developers, it should not be enabled for C.)
2019-03-22My todo entries were bothering people.Rob Landley
2019-03-22More tar cleanup, add --owner and --group, and start of new tests.Rob Landley
2019-03-20Next round of tar cleanup.Rob Landley
2019-03-18diff: use TOYFLAG_ARGFAIL.Elliott Hughes
This one with a little cleanup of unnecessary duplication.
2019-03-17More tar cleanup.Rob Landley
2019-03-17More tar cleanup.Rob Landley
2019-03-16bc: fix an overflow bug in bc_num_ulong()Gavin Howard
2019-03-16Next round of tar cleanup.Rob Landley
2019-03-13More tar cleanup.Rob Landley
2019-03-11More tar cleanup.Rob Landley
2019-03-06More tar cleanup.Rob Landley
Dear gcc: if (i || node=blah) x = i ? blah : node; Don't complain "node may be used uninitialied", it can't be. That warning is a gcc bug. (I should add a node = node to the initialiation to shut up the warning, but gcc has failed to emit "may be used uninitialized" reliably for 15 years and it still does.)
2019-03-04More tar cleanup.Rob Landley
2019-03-04Consistently use ARRAY_LEN.Elliott Hughes
2019-03-03Cleanup pass on tar.Rob Landley
2019-03-02Promote devmem.Rob Landley
2019-03-02Fix instances of "Usage:" rather than "usage:".Elliott Hughes
2019-03-02devmem: new command.Elliott Hughes
Intended to replace Android's toolbox `r`, but behaving more like a drop-in replacement for busybox's `devmem`.
2019-02-25arp: inline get_hw_add and minor sscanf error handling cleanupColin Davidson
2019-02-23One last (for now) typo.Elliott Hughes
This one actually introduced by my last cleanup. (But helpfully pointed out by the machines when I tried to upload my last cleanup to the AOSP gerrit...)
2019-02-23Promote mcookieRob Landley
2019-02-23Cleanup mcookie.Rob Landley
2019-02-23Here's an 'mcookie' implementation for toybox.Isaac Dunham
mcookie simply prints out 16 bytes of entropy in hexadecimal; it is typically used as the source for the "MIT magic cookies" that X11 uses for "secure" connections. The only implementation I know of is in util-linux; the problems with its documented behavior motivated me to write an alternate implementation. Specifically, getting 128 bytes from the kernel and finding the MD5 sum is not a sane PRNG, especially when only 16 bytes are needed.
2019-02-23Bumper typo cleanup.Elliott Hughes
Inspired by some of the small patches that have gone by recently. Limited to only things found in `generated/help.h`, plus a wider cleanup for the more common "milisecond" typo.
2019-02-21getfattr: add --only-values.Elliott Hughes
Needed to improve cp(1) testing.
2019-02-18route: fix command argument parsingUros Prestor
2019-02-11Inline more functions only called once, unwrap wrappers, etc.Rob Landley
2019-02-10Remove unnecessary macros and typedefs, multipliation by sizeof(char), etc.Rob Landley
2019-02-10Inline more macros only used once, replace BcId with struct str_len from lib,Rob Landley
remove more unnecessary typecasts.
2019-02-09Remove more unnecessary macros. Inline bc_parse_exprs[] with the bit orderRob Landley
reversed so the mask is 1<<(x&7) instead of 1<<(7-(x&7)). Can't _quite_ make printString() use unescape() out of lib because \q is a thing?
2019-02-09Remove more useless typecasts, wrappers, and inline a function.Rob Landley
2019-02-09Remove some unnecessary wrappers, indirection, and typecasts.Rob Landley
2019-02-05Promote sntp to net.Rob Landley
2019-02-05Fix some llvm warnings.Rob Landley
I don't know why NDK llvm is complaining about adjtime(), toys.h is #including <sys/time.h> which http://man7.org/linux/man-pages/man3/adjtime.3.html says is the right header...?
2019-02-05Suppress warnings gcc should not be making (and a comment typo).Rob Landley
2019-02-05Fix server loop timeout logic.Rob Landley
2019-02-05Fix server mode and make request timeout 3 tries of 3 seconds (9 sec total).Rob Landley
2019-02-04Next round of sntp work: server and multicast modes, actually set time...Rob Landley
2019-01-28bc: Update to upstream version 1.1.0Gavin Howard
2019-01-24More random in-progress sntp work.Rob Landley
2019-01-22Whitespace: remove tabs from indentation.Elliott Hughes
I accidentally added a tab in xargs.c, so as penance I'll clean up all the tabs.
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.