aboutsummaryrefslogtreecommitdiffstats
path: root/libglouglou/libggnet_traceroute.c
diff options
context:
space:
mode:
Diffstat (limited to 'libglouglou/libggnet_traceroute.c')
-rw-r--r--libglouglou/libggnet_traceroute.c15
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)
{