Commit Graph

815 Commits

Author SHA1 Message Date
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
sin
699f246239 Update date in cal.1 2015-01-18 00:42:26 +00:00
sin
a2dd0d3950 Make cal(1) more readable 2015-01-18 00:40:37 +00:00
FRIGN
f9a1e11661 Add mandoc-manpage for comm(1) and clean up code
and mark it as finished in README.
2015-01-17 23:10:07 +00:00
FRIGN
572cea058c 2014 -> 2015 in cksum.1 2015-01-17 23:09:45 +00:00
FRIGN
43b8fa1a58 Add mandoc-manpage for cksum(1) and clean up code
and mark it as done in README.
2015-01-17 23:09:41 +00:00
FRIGN
b55de3d1a2 Add mandoc-manpage for chmod(1)
and mark it as finished in README.

One small rationale on the way the manpage is set up: Looking at
the coreutils manpage, it does not invite to be a quick reference
guide, whereas I wrote this manpage to be short and concise in regard
to the information the advanced user needs.
No one needs to explain what an octal number is. That's not part of
the scope of this manpage.
Also, nobody wants to read a block of text just to find out how
to build an octal mode string.
2015-01-17 21:59:37 +00:00
FRIGN
eff58b5531 Refactor chmod(1)
Clean the mess.
2015-01-16 23:08:36 +00:00
FRIGN
40bbe91c9e Fix a small error in cal(1) manpage
The current implementation doesn't implement the day-variable.
2015-01-16 21:48:50 +00:00
FRIGN
b375bc99bd Mark cal(1) as finished in README 2015-01-16 21:22:24 +00:00
FRIGN
f8177c8ca4 cal(1) cleanup
According to suckless coding guidelines.
2015-01-16 21:22:24 +00:00