~sircmpwn/hare unlisted

fs: Change is_something functions to issomething

This is more consistent with the informal style guide, and function
names in other modules.

Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz>
cmd/hare: move archive files to the end of ld command

Fixes issues with linking when an archive is scheduled too early.

>From ld manual: "The linker will search an archive only once, at the
location where it is specified on the command line. If the archive
defines a symbol which was undefined in some object which appeared
before the archive on the command line, the linker will include the
appropriate file(s) from the archive."

To get symbols from archive to all other objects, archives must be
placed after everything else.

Signed-off-by: Alexey Yerin <yyp@disroot.org>
os::exec: fix non-exhaustive match

Signed-off-by: Alexey Yerin <yyp@disroot.org>
fmt: introduce parametric modifiers

Introduces parametric format modifiers "{%}" as a new feature.
See fmt/README for details.

Introduces type fmt::field = (...fmt::formattable | *fmt::modifiers).
Refactors existing fmt::* functions to use fmt::field instead of
fmt::formattable where applicable.

Exports types fmt::{modifiers,padding,negation}.

Modifies hare::parse::syntaxerr()'s parameter list to handle fmt::field.

Signed-off-by: Byron Torres <b@torresjrjr.com>
cmd/haredoc: set -a when looking up a symbol directly

If a user explicitly looks up an undocumented symbol, they know what it
is and it makes sense to show it.

Signed-off-by: Alexey Yerin <yyp@disroot.org>
cmd/haredoc: error out on non-existent declarations

This allows to quickly see what's the problem instead of just getting
nothing in return.

Signed-off-by: Alexey Yerin <yyp@disroot.org>
fnmatch: new module

Signed-off-by: Bor Grošelj Simić <bor.groseljsimic@telemach.net>
ascii: implement isblank()

Signed-off-by: Bor Grošelj Simić <bor.groseljsimic@telemach.net>
hare::types: type_finish shouldn't be recursive

This caused a lot of double frees.

Signed-off-by: Bor Grošelj Simić <bor.groseljsimic@telemach.net>
linux::vdso: don't use pointer arithmetic

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
bufio+test: drop invalid TODO

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
fs::mem+test: drop harec workaround

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
bufio/memstream: drop harec workaround in test

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
compress::*: use caller allocation

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
crypto::sha512: export variant enum

This didn't cause an error before because of a harec bug.

Signed-off-by: Eyal Sawady <ecs@d2evs.net>
all: return io::file from os::open

Signed-off-by: Drew DeVault <sir@cmpwn.com>
io: introduce io::unwrapfd

Signed-off-by: Drew DeVault <sir@cmpwn.com>
Remove os::streamfd, update net::*, unix::*

Signed-off-by: Drew DeVault <sir@cmpwn.com>
fs: add open_file and create_file

Signed-off-by: Drew DeVault <sir@cmpwn.com>
io::file: expand interface with fdalloc

Signed-off-by: Drew DeVault <sir@cmpwn.com>
Next