SIGWINCH patch code style conformed to dump1090.
This commit is contained in:
39
dump1090.c
39
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 <hz> Set frequency (default: 1090 Mhz).\n"
|
||||
"--ifile <filename> Read data from file (use '-' for stdin).\n"
|
||||
"--interactive Interactive mode refreshing data on screen.\n"
|
||||
"--interactive-rows <num> Max number of rows in interactive mode (default: 15 or size of terminal).\n"
|
||||
"--interactive-rows <num> Max number of rows in interactive mode (default: 15).\n"
|
||||
"--interactive-ttl <sec> Remove from list if idle for <sec> (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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user