diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-03-14 11:32:24 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-03-14 11:32:24 +0100 |
commit | 8dc33835365a647f352f3b9b00b816763bc536d2 (patch) | |
tree | 548a45cb7ab218dd32298a6c6b7f72c2e2c39168 /pingu_route.c | |
parent | ee7897d5568535cbe03318debcb71632242f27e6 (diff) | |
download | pingu-8dc33835365a647f352f3b9b00b816763bc536d2.tar.bz2 pingu-8dc33835365a647f352f3b9b00b816763bc536d2.tar.xz |
pingu_adm: support route dumps
Diffstat (limited to 'pingu_route.c')
-rw-r--r-- | pingu_route.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pingu_route.c b/pingu_route.c index 2c96a8d..3a82f70 100644 --- a/pingu_route.c +++ b/pingu_route.c @@ -4,6 +4,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <unistd.h> #include "list.h" #include "log.h" @@ -145,6 +146,19 @@ struct pingu_route *pingu_route_first_default(struct list_head *route_list) return NULL; } +void pingu_route_dump(int fd, struct list_head *route_list) +{ + struct pingu_route *entry; + list_for_each_entry(entry, route_list, route_list_entry) { + char str[512] = ""; + pingu_route_to_string(entry, str, sizeof(str)); + if (str[0] != '\0') { + strncat(str, "\n", sizeof(str)); + write(fd, str, strlen(str)); + } + } +} + void pingu_route_cleanup(struct list_head *route_list) { struct pingu_route *entry, *n; |