From: David Lamparter Date: Sun, 29 Mar 2020 09:09:14 +0000 (+0200) Subject: lib: add %pIA for struct ipaddr * X-Git-Tag: base_7.5~144^2~6 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=dc5d01863127158ca9fc8a82fb221c7e6fb4b891;p=matthieu%2Ffrr.git lib: add %pIA for struct ipaddr * Signed-off-by: David Lamparter --- diff --git a/lib/ipaddr.h b/lib/ipaddr.h index 46e70966eb..a96c9788bc 100644 --- a/lib/ipaddr.h +++ b/lib/ipaddr.h @@ -124,6 +124,10 @@ static inline bool ipaddr_isset(struct ipaddr *ip) return (0 != memcmp(&a, ip, sizeof(struct ipaddr))); } +#ifdef _FRR_ATTRIBUTE_PRINTFRR +#pragma FRR printfrr_ext "%pIA" (struct ipaddr *) +#endif + #ifdef __cplusplus } #endif diff --git a/lib/prefix.c b/lib/prefix.c index 0900100be3..7f660d03d8 100644 --- a/lib/prefix.c +++ b/lib/prefix.c @@ -22,6 +22,7 @@ #include #include "prefix.h" +#include "ipaddr.h" #include "vty.h" #include "sockunion.h" #include "memory.h" @@ -1316,6 +1317,16 @@ char *esi_to_str(const esi_t *esi, char *buf, int size) return ptr; } +printfrr_ext_autoreg_p("IA", printfrr_ia) +static ssize_t printfrr_ia(char *buf, size_t bsz, const char *fmt, + int prec, const void *ptr) +{ + const struct ipaddr *ipa = ptr; + + ipaddr2str(ipa, buf, bsz); + return 2; +} + printfrr_ext_autoreg_p("I4", printfrr_i4) static ssize_t printfrr_i4(char *buf, size_t bsz, const char *fmt, int prec, const void *ptr)