mirror of
https://gitlab.labs.nic.cz/labs/bird.git
synced 2024-05-11 16:54:54 +00:00
Printing of AS paths and community sets.
This commit is contained in:
28
nest/a-set.c
28
nest/a-set.c
@@ -9,4 +9,32 @@
|
||||
|
||||
#include "nest/bird.h"
|
||||
#include "nest/route.h"
|
||||
#include "nest/attrs.h"
|
||||
#include "lib/resource.h"
|
||||
#include "lib/string.h"
|
||||
|
||||
void
|
||||
int_set_format(struct adata *set, byte *buf, unsigned int size)
|
||||
{
|
||||
u32 *z = (u32 *) set->data;
|
||||
int l = set->length / 4;
|
||||
int sp = 1;
|
||||
byte *end = buf + size - 16;
|
||||
|
||||
while (l--)
|
||||
{
|
||||
if (sp)
|
||||
{
|
||||
sp = 0;
|
||||
*buf++ = ' ';
|
||||
}
|
||||
if (buf > end)
|
||||
{
|
||||
strcpy(buf, "...");
|
||||
return;
|
||||
}
|
||||
buf += bsprintf(buf, "%d:%d", *z/65536, *z & 0xffff);
|
||||
z++;
|
||||
}
|
||||
*buf = 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user