diff -ur mtr-0.84-orig/display.c mtr-0.84/display.c --- mtr-0.84-orig/display.c 2013-02-23 17:13:40.000000000 +0200 +++ mtr-0.84/display.c 2013-03-19 17:11:21.000000000 +0200 @@ -129,6 +129,9 @@ case DisplayGTK: gtk_close(); break; + case DisplayRaw: + raw_close(); + break; } } diff -ur mtr-0.84-orig/raw.c mtr-0.84/raw.c --- mtr-0.84-orig/raw.c 2013-02-23 17:13:40.000000000 +0200 +++ mtr-0.84/raw.c 2013-03-19 17:41:16.000000000 +0200 @@ -68,3 +68,19 @@ printf ("h %d %s\n", host, strlongip( ip_addr )); fflush (stdout); } + +void raw_close() +{ + int at, max; + ip_t *addr; + + /* show unknown hosts with ping -1 at the end to make sure hosts at the end + * are visible. Added by kewisch. */ + max = net_max(); + for (at = 0; at < max; at++) { + addr = net_addr(at); + if(!addrcmp((void*)addr, (void*)&unspec_addr, af)) { + printf("p %d -1\n", at); + } + } +} diff -ur mtr-0.84-orig/raw.h mtr-0.84/raw.h --- mtr-0.84-orig/raw.h 2013-02-23 17:13:40.000000000 +0200 +++ mtr-0.84/raw.h 2013-03-19 17:14:56.000000000 +0200 @@ -21,3 +21,4 @@ /* Prototypes for raw.c */ void raw_rawping(int host, int msec); void raw_rawhost(int host, ip_t * addr); +void raw_close();