From 3113223029eb174a237eb8790be34cad5c0690b9 Mon Sep 17 00:00:00 2001 From: Malcolm Robb Date: Mon, 8 Apr 2013 23:19:48 +0100 Subject: [PATCH] One bug fix, and some changes to the --interactive output format I messed up merging the Squawk display in interactive mode into my master. However, the original source posted by terribl causes a print line length greater than 80 characters. This in turn causes the lines to spill over on a terminal display. I have therefore re-formatted some of the output so that it fits within 80 characters. --- dump1090.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dump1090.c b/dump1090.c index 0a1ec5e..ff3208f 100644 --- a/dump1090.c +++ b/dump1090.c @@ -1825,20 +1825,25 @@ void interactiveShowData(void) { printf("\x1b[H\x1b[2J"); /* Clear the screen */ printf( -"Hex Squawk Flight Altitude Speed Lat Lon Track Messages Seen %s\n" -"----------------------------------------------------------------------------------------\n", +"Hex Sqwk Flight Alt Speed Lat Lon Track Msgs Seen %s\n" +"-------------------------------------------------------------------------------\n", progress); while(a && count < Modes.interactive_rows) { int altitude = a->altitude, speed = a->speed; + char squawk[5] = "0"; /* Convert units to metric if --metric was specified. */ if (Modes.metric) { altitude /= 3.2828; speed *= 1.852; } + + if (a->squawk > 0 && a->squawk <= 7777) { + sprintf(squawk, "%04d", a->squawk); + } - printf("%-6s %-4s %-8s %-9d %-7d %-7.03f %-7.03f %-3d %-9ld %d sec\n", + printf("%-6s %-4s %-8s %-7d %-5d %-7.03f %-7.03f %-3d %-7ld %d sec\n", a->hexaddr, squawk, a->flight, altitude, speed, a->lat, a->lon, a->track, a->messages, (int)(now - a->seen));