io: add scriptwriter to +test
scriptwrite is a tool to test short writes or errors::again behavior on streams.
Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
net::uri: Clean up memory handling after failure
Signed-off-by: Alexey Yerin <yyp@disroot.org>
errors: add netunreachable
Signed-off-by: Drew DeVault <sir@cmpwn.com>
scripts/version: achieve shellcheck compliance
build: verify the stdoid database
to catch accidental breakages or format changes during build.
Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
genoiddb: generate comments for exported oids
This allows looking up oids in generated databases with haredoc.
Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
time::date: parse() %G and %V
Signed-off-by: Curtis Arthaud <uku82@gmx.fr>
regex: allow ^ at start of every whole-expression alternation
Signed-off-by: Max Schillinger <max@mxsr.de>
regex: allow $ at end of every whole-expression alternation
Signed-off-by: Max Schillinger <max@mxsr.de>
regex: fix anchor bug in whole-expression alternations
The regex pattern `a|b` doesn't match `xb` because it contains an
implicit start of line anchor (`^`) before the `b`. The pattern behaves
like `a|^b`.
This commit fixes this by adding an `inst_skip` at every
whole-expression alternation.
Signed-off-by: Max Schillinger <max@mxsr.de>
regex: remove duplicate tests
Signed-off-by: Max Schillinger <max@mxsr.de>
net/uri: fix silly usage of wantrune()
This is a follow-up to my previous fix. I now realized that using
`wantrune()` like I did here is silly. If I understand correctly,
`wantrune()` expresses that there should be a next rune or the URI is
invalid, but this is not the case here. So stick to `strings::next()`
and handle `done` instead of `invalid` (not much sense in handling an
event called `invalid` and continue parsing...).
Signed-off-by: Conrad Hoffmann <ch@bitfehler.net>