Ondrej Zajicek (work)
759b204be3
Lib: Support for 64-bit numbers in bvsnprintf()
...
Use 'l' for s64/u64 instead of for long/ulong, as that is much more
useful. Also make number() correct with regard to signed/unsigned
typecasts.
2019-10-09 17:53:23 +02:00
Ondrej Zajicek (work)
39edf4abca
Lib: Fix print of 64-bit router id
...
Mismatched types to printf(). The old code coincidentally worked on amd64
due to its calling conventions.
Thanks to Maximilian Eschenbacher for the bugreport.
2019-07-18 01:57:26 +02:00
Jan Maria Matejka
d4cebc6bbe
No more warnings ...
...
no more warnings
No more warnings over me
And while it is being compiled all the log is black and white
Release BIRD now and then let it flee
(use the melody of well-known Oh Freedom!)
2018-09-18 14:21:11 +02:00
Jan Maria Matejka
64c5ad58d2
Lib: recursive printf
...
Use like this:
void func(const char *msg, va_list args) {
...
bvsnprintf(buf, len, "file %s, line %d: %V (foo %d, bar %d)", file, line, msg, &args, foo, bar);
...
}
2018-08-22 15:14:06 +02:00
Ondrej Zajicek (work)
49fc021337
Printf: Add support for microsecond times
...
Use '%t' in bsnprintf() for microsecond times (in btime) with variable
sub-second precision.
2017-12-07 13:49:27 +01:00
Ondrej Zajicek (work)
77234bbbde
Basic flow specification support (RFC 5575)
...
Add flow4/flow6 network and rt-table type and operations, config grammar
and static protocol support.
Squashed flowspec branch from Pavel Tvrdik.
2016-12-07 15:54:19 +01:00
Ondrej Zajicek (work)
cc5b93f72d
Merge tag 'v1.6.2' into int-new
2016-11-08 17:04:29 +01:00
Pavel Tvrdik
d107ef78df
Whitespace fixes
2016-08-16 13:02:32 +02:00
Ondrej Zajicek (work)
af678af0d5
Merge remote-tracking branch 'origin/master' into int-new
2016-05-12 18:03:23 +02:00
Ondrej Zajicek (work)
937e75d8f1
Add the Babel routing protocol (RFC 6126)
...
This patch implements the IPv6 subset of the Babel routing protocol.
Based on the patch from Toke Hoiland-Jorgensen, with some heavy
modifications and bugfixes.
Thanks to Toke Hoiland-Jorgensen for the original patch.
2016-04-28 18:01:40 +02:00
Jan Moskyto Matejka
9a883adf95
Net address format: Do not print the -4 or -6 suffix in %I4 and %I6
2016-01-13 13:21:25 +01:00
Ondrej Zajicek (work)
e691d16a63
Explicit ip4_addr / ip6_addr printf support
2015-12-29 17:12:47 +01:00
Ondrej Zajicek (work)
23c212e7f1
Follow-up work on integration
2015-12-21 03:33:18 +01:00
Jan Moskyto Matejka
7fd4143ead
Integrated address print lengths
...
Minor changes by Ondrej Santiago Zajicek
2015-12-20 13:47:39 +01:00
Ondrej Zajicek (work)
fe9f1a6ded
Initial commit on integrated BIRD
...
New data types net_addr and variants (in lib/net.h) describing
network addresses (prefix/pxlen). Modifications of FIB structures
to handle these data types and changing everything to use these
data types instead of prefix/pxlen pairs where possible.
The commit is WiP, some protocols are not yet updated (BGP, Kernel),
and the code contains some temporary scaffolding.
Comments are welcome.
2015-11-05 12:48:52 +01:00
Pavel Tvrdík
ae80a2de95
unsigned [int] -> uint
2015-06-08 02:24:08 +02:00
Pavel Tvrdík
e348ef01b4
unsgined char -> byte
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
88a183c6c9
Integrated IP functions.
2014-10-24 11:11:43 +02:00
Ondrej Zajicek
05476c4d04
IPv4/IPv6 integrated socket code.
2014-05-18 11:42:26 +02:00
Ondrej Zajicek
1ec522538f
BFD protocol, ready for release.
...
Supports OSPF and BGP and also statically configured sessions.
2013-11-19 22:33:48 +01:00
Ondrej Zajicek
0e175f9f0f
Fixes some BFD bugs and makes logging thread-safe.
2013-10-05 20:12:28 +02:00
Ondrej Zajicek
53ffbff39f
Implements support for link-local addresses in BGP.
...
Thanks Matthias Schiffer for the original patch.
2012-01-08 15:31:34 +01:00
Ondrej Zajicek
2f6483cd31
Adds %R printf directive for Router ID.
2009-07-23 16:06:25 +02:00
Martin Mares
30b773041c
IP address formatting now uses the same rules as formatting of strings
...
with two exceptions:
o Any non-zero field width is automatically replaced by standard
IP address width. This hides dependences on IPv4/IPv6.
o %#I generates hexadecimal form of the address.
Therefore |%I| generates unpadded format, |%1I| full size flush-right,
and |%-1I| full size flush-left format.
2001-08-19 11:11:44 +00:00
Martin Mares
7722938d63
Added library progdocs.
2000-06-04 18:34:39 +00:00
Martin Mares
53943a0022
Defined format specifier %M' which behaves as
%m', but takes the
...
error code as an argument.
Use it in socket hooks where we really shouldn't rely on errno containing
the right value or even existing.
2000-05-02 16:10:04 +00:00
Martin Mares
221135d6bf
Include "lib/string.h" instead of <string.h>. It should give us bzero()
...
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares
4254dc45e7
Killed bug in processing of 'h' prefix. Patch taken from linux-2.1.129.
1998-11-21 10:25:34 +00:00
Martin Mares
53a416d376
Implemented snprintf and similar functions. It took a lot of thinking,
...
but the modifications were relatively simple and straightforward.
1998-11-16 21:40:35 +00:00
Martin Mares
d997534f65
Oops, forgot '%m'...
1998-06-17 14:34:13 +00:00
Martin Mares
ecacdfa434
Added local version of sprintf (bsprintf and bvsprintf) offering few new
...
format strings:
%I IP address
%#I IP address in hexadecimal
%1I IP address padded to full length
%m strerror(errno)
1998-06-17 14:31:36 +00:00