diff options
Diffstat (limited to 'libglouglou/libggnet_traceroute.c')
-rw-r--r-- | libglouglou/libggnet_traceroute.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libglouglou/libggnet_traceroute.c b/libglouglou/libggnet_traceroute.c index bd5d76f..f3a04d0 100644 --- a/libglouglou/libggnet_traceroute.c +++ b/libglouglou/libggnet_traceroute.c @@ -228,6 +228,21 @@ ggnet_traceroute_cancel(struct ggnet_traceroute *ggtr, _req_free(req); } + +char * +ggnet_traceroute_report(struct ggnet_traceroute_req *req) { + struct ggnet_traceroute_hop *hop; + static char report[16384]; + static char *p; +#define left (sizeof(report) - (p - report)) + + p = report; + TAILQ_FOREACH(hop, &req->hops_list, entry) { + p += (u_char)snprintf(p, left, "%.2d: %s %s %.2f [XXX %p]\n", hop->ttl, addr_ntoa(&hop->ip), hop->answer, hop->delay, hop); + } + return report; +} + static void _req_free(struct ggnet_traceroute_req *req) { |