Commit Graph

925 Commits

Author SHA1 Message Date
FRIGN 0bb5f5f453 Add mandoc-manpage for link(1)
and mark it as finished in the README.
2015-01-25 22:44:47 +01:00
FRIGN 5c852e5c3c Change description of tail(1)
before I forget it. Makes it more consistent with head(1).
2015-01-25 22:03:50 +01:00
FRIGN 741d8c9a76 Add mandoc-manpage for head(1) and clean up code
and mark it as finished in the README.
2015-01-25 22:01:26 +01:00
FRIGN 454fab03aa Use correct date format in fold.1 2015-01-25 21:36:32 +01:00
FRIGN d6bcbf521b Mark fold(1) and grep(1) as finished in the README 2015-01-25 21:33:28 +01:00
sin 8c99cfae86 fold: Properly report exit status if we fail to open a file 2015-01-25 20:26:51 +00:00
FRIGN e3c51eb17d Small readability fix in fold.1 2015-01-25 21:25:03 +01:00
FRIGN f5b7e549b8 Add mandoc-manpage for fold(1) and refactor code
and mark it as finished in the README.
In the code, use size_t rather than long.
2015-01-25 21:23:29 +01:00
sin 6f73cd1c97 Relax with caps in usage 2015-01-25 18:31:25 +00:00
sin 34c9083598 expand: Use strsep() for parsing the tablist 2015-01-25 18:13:32 +00:00
sin bc9c752df5 Import strsep() from musl libc 2015-01-25 17:48:11 +00:00
FRIGN b98bf41ecc Add mandoc-manpage for expr(1)
and mark it as finished in README.
Upon further checking, expr(1) turns out to be implicitly UTF-8 compliant.
2015-01-25 16:49:46 +01:00
FRIGN 1a8dfaca37 Fix issue with negative integers passed to expand(1)
WISDOM OF THE DAY: strtoul() does not error out, when it hits a '-'-sign.
Instead, it happily carries on and fucks everything up.
2015-01-25 15:24:48 +01:00
FRIGN 5f448d9a8b Use strtoul in expand(1) and force base 10 2015-01-25 15:07:13 +01:00
FRIGN 692c11bf2b Add tablist support and a mandoc-manpage to expand(1)
and mark it as finished in the README.

This is another example showing how broken the GNU coreutils are:

$ echo -e "äää\tüüü\tööö" | gnu-expand -t "5,10,20"
äää    üüü    ööö
$ echo -e "äää\tüüü\tööö" | sbase-expand -t "5,10,20"
äää  üüü  ööö

This is due to the fact that they are still not UTF8-aware and
actually see "ä" as two single characters, expanding the "äää" with
4 spaces to a tab of length 10.
The correct way however is to expand the "äää" with 2 spaces to a
tab of length 5.
One can only imagine how this silently breaks a lot of code around
the world.
WHAT WERE THEY THINKING?
2015-01-25 14:31:02 +01:00
FRIGN 48bf88851a Add missing space in error message in cut.c 2015-01-24 23:09:09 +01:00
FRIGN 59f2e48b64 Add -u-flag to env.1-manpage
which I forgot to add earlier.
2015-01-24 23:04:40 +01:00
FRIGN ee843a2e09 Fix segmentation fault in tr(1)
and make the parser stricter.
2015-01-24 23:00:34 +01:00
FRIGN c369844ae2 Refactor cut.1 and cut.c
and reflect recent changes to the role of "delim".
2015-01-24 22:53:37 +01:00
FRIGN eb57becb38 Add octal sequence support to tr(1) 2015-01-24 22:43:46 +01:00
FRIGN 27996f2b86 Fix segmentation fault in cut(1)
Be stricter while resolving escapes in the delimiter-string and
error out when it has length 0 or contains an invalid escape.

Thanks to Hiltjo Posthuma's sharp eagle eyes this bug was spotted.
2015-01-24 21:26:48 +01:00
sin 6ba882ec39 We don't need GNU make to build on OpenBSD 2015-01-24 12:30:20 +00:00
FRIGN 96e2a350a0 Be more consistent in env.1 2015-01-24 00:24:42 +01:00
FRIGN 616379f8ca Add mandoc-manpage for env(1)
and mark it as finished in the README.
2015-01-24 00:22:06 +01:00
FRIGN 22c6502b67 Add mandoc-manpage for echo(1)
and mark it as finished in the README.
2015-01-23 23:49:24 +01:00
FRIGN 8ac1165125 Mark insane POSIX flags
which we are not planning to include into sbase.
What's left to discuss is how we're going to handle them in the
tools (dump usage() or silently ignore them).
2015-01-23 23:31:46 +01:00
FRIGN b9f0fe1eee Refactor basename(1)-manpage 2015-01-23 23:18:42 +01:00
FRIGN ac208e23ca Add mandoc-manpage for dirname(1)
and mark it as finished in the README.
2015-01-23 23:17:54 +01:00
FRIGN 743707a7b4 Mark non-UTF8-tools as non-finished
This makes clearer that these tools might require some more work.
2015-01-23 23:00:20 +01:00
FRIGN c208c6328a Add mandoc-manpage for date(1) and clean up code
and mark it as finished in README.
2015-01-23 22:54:25 +01:00
FRIGN b53469bc67 Mark tee(1) as finished in the README 2015-01-23 22:04:19 +01:00
FRIGN 0489895bb5 Add mandoc-manpage for tee(1)
and mark it as done in the README,
as the -i-flag has been added previously.
2015-01-23 22:02:45 +01:00
Greg Reagle 4f0a813ca1 tee: -i option ignores SIGINT 2015-01-22 21:35:36 +00:00
FRIGN 2277b619be Add support for arbitrary length delimiters in cut(1)
Having multibyte delimiters is not enough. For full flexibility,
the possiblity of cutting input lines with arbitrary length delimiters
is the real deal.
Given this functionality, it only sounds reasonable to also add support
to resolve escapes.
Thanks to Truls Becken for making the suggestion and designing such a
flexible cut(1)-implementation!
2015-01-22 20:27:54 +01:00
sin 37d30f2bd8 Clarify mechanics in grep.1 2015-01-22 17:50:07 +00:00
sin b2f078fb13 Fix grammar in grep.1 2015-01-22 17:49:03 +00:00
sin 2ba7005ddd Use \< and \> instead of [[:<:]] and [[:>:]]
musl doesn't seem to support the latter, so use the older SVR4
word delimiters.
2015-01-22 17:37:52 +00:00
sin e91d94a70e Add grep -w support
Require to use abuild on Alpine Linux with sbase.
2015-01-22 17:07:57 +00:00
sin d475a6bdf2 Handle ln -sf a foo/ correctly
Previously it would not delete foo/a if it already existed.  Use
unlinkat() instead to do that.
2015-01-22 16:26:30 +00:00
FRIGN 3946d1fcc9 Use the EARGF()-macro in cut.c 2015-01-22 16:36:07 +01:00
FRIGN 733b33f1c7 Add UTF-8-delimiter-support to cut(1)
Now you can specify a multibyte-delimiter to cut, which should
definitely be possible for the end-user (Fuck POSIX).
Looking at GNU/coreutils' cut(1)[0], which basically ignores the difference
between characters and bytes, the -n-option and which is bloated as hell,
one has to wonder why they are still default. This is insane!
Things like this personally keep me motivated to make sbase better
every day.

[0]: http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/cut.c;hb=HEAD
     NSFW! You have been warned.
2015-01-22 12:32:50 +01:00
sin dc70eb7976 ls: Implement -c and update manpage
Update usage + README as well.  Apparently some of the options (
-H and -L) had already been implemented but not reflected in the
program usage line.
2015-01-20 16:50:37 +00:00
sin 98d759a274 Add license remark to tr.c 2015-01-20 15:26:08 +00:00
sin 72f43adc54 touch: Style fix 2015-01-20 11:24:37 +00:00
sin b1f750d96e Update README for touch 2015-01-20 11:22:09 +00:00
sin 72dff92bb2 touch: Remember to terminate .Bl with .El 2015-01-20 11:19:32 +00:00
sin 45c54bff0b touch: Add support for -a and -m
Update the manpage.
2015-01-20 11:16:17 +00:00
FRIGN 8b623f8593 Also indent the headings 2015-01-18 19:41:14 +01:00
FRIGN 07cfc6ee42 Add column to mark UTF-8 support
One major milestone is to have the sbase-tools supporting UTF-8.
Tools like cut(1) with the -n flag don't make sense otherwise.
And while the gnu coreutils cut(1) blatantly ignores such an
important aspect, we will not tolerate this madness and mark it
as a TODO in the main README.
Since most tools inherently support UTF-8 anyway, this just concerns
tools which mangle with text or search in it in special ways.
2015-01-18 19:36:13 +01:00
FRIGN 76ca226e81 Add mandoc-manpage for cut(1) and clean up code
and mark it as finished in README.
2015-01-18 11:30:31 +01:00