From 38ed7698b3b72f57907d96e1811b61fcdc99232b Mon Sep 17 00:00:00 2001 From: antirez Date: Sat, 14 Dec 2013 20:20:53 +0100 Subject: [PATCH] SIGWINCH patch code style conformed to dump1090. --- dump1090.c | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/dump1090.c b/dump1090.c index 08703c2..72c2201 100644 --- a/dump1090.c +++ b/dump1090.c @@ -45,7 +45,6 @@ #include "rtl-sdr.h" #include "anet.h" - #define MODES_DEFAULT_RATE 2000000 #define MODES_DEFAULT_FREQ 1090000000 #define MODES_DEFAULT_WIDTH 1000 @@ -281,7 +280,6 @@ void modesInitConfig(void) { Modes.interactive_rows = MODES_INTERACTIVE_ROWS; Modes.interactive_ttl = MODES_INTERACTIVE_TTL; Modes.aggressive = 0; - Modes.interactive_rows = getTermRows(); } @@ -2359,6 +2357,23 @@ void modesReadFromClients(void) { } } +/* ============================ Terminal handling ========================== */ + +/* Handle resizing terminal. */ +void sigWinchCallback() { + signal(SIGWINCH, SIG_IGN); + Modes.interactive_rows = getTermRows(); + interactiveShowData(); + signal(SIGWINCH, sigWinchCallback); +} + +/* Get the number of rows after the terminal changes size. */ +int getTermRows() { + struct winsize w; + ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); + return w.ws_row; +} + /* ================================ Main ==================================== */ void showHelp(void) { @@ -2369,7 +2384,7 @@ void showHelp(void) { "--freq Set frequency (default: 1090 Mhz).\n" "--ifile Read data from file (use '-' for stdin).\n" "--interactive Interactive mode refreshing data on screen.\n" -"--interactive-rows Max number of rows in interactive mode (default: 15 or size of terminal).\n" +"--interactive-rows Max number of rows in interactive mode (default: 15).\n" "--interactive-ttl Remove from list if idle for (default: 60).\n" "--raw Show only messages hex values.\n" "--net Enable networking.\n" @@ -2506,9 +2521,7 @@ int main(int argc, char **argv) { } /* Setup for SIGWINCH for handling lines */ - if(Modes.interactive == 1) { - signal(SIGWINCH, sigWinchCallback); - } + if (Modes.interactive == 1) signal(SIGWINCH, sigWinchCallback); /* Initialization */ modesInit(); @@ -2580,18 +2593,4 @@ int main(int argc, char **argv) { return 0; } -/* Handle resizing terminal */ -void sigWinchCallback() { - signal(SIGWINCH, SIG_IGN); - Modes.interactive_rows = getTermRows(); - interactiveShowData(); - signal(SIGWINCH, sigWinchCallback); -} -int getTermRows() -{ - struct winsize w; - ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); - - return w.ws_row; -}