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 "rtl-sdr.h"
|
||||||
#include "anet.h"
|
#include "anet.h"
|
||||||
|
|
||||||
|
|
||||||
#define MODES_DEFAULT_RATE 2000000
|
#define MODES_DEFAULT_RATE 2000000
|
||||||
#define MODES_DEFAULT_FREQ 1090000000
|
#define MODES_DEFAULT_FREQ 1090000000
|
||||||
#define MODES_DEFAULT_WIDTH 1000
|
#define MODES_DEFAULT_WIDTH 1000
|
||||||
@ -281,7 +280,6 @@ void modesInitConfig(void) {
|
|||||||
Modes.interactive_rows = MODES_INTERACTIVE_ROWS;
|
Modes.interactive_rows = MODES_INTERACTIVE_ROWS;
|
||||||
Modes.interactive_ttl = MODES_INTERACTIVE_TTL;
|
Modes.interactive_ttl = MODES_INTERACTIVE_TTL;
|
||||||
Modes.aggressive = 0;
|
Modes.aggressive = 0;
|
||||||
|
|
||||||
Modes.interactive_rows = getTermRows();
|
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 ==================================== */
|
/* ================================ Main ==================================== */
|
||||||
|
|
||||||
void showHelp(void) {
|
void showHelp(void) {
|
||||||
@ -2369,7 +2384,7 @@ void showHelp(void) {
|
|||||||
"--freq <hz> Set frequency (default: 1090 Mhz).\n"
|
"--freq <hz> Set frequency (default: 1090 Mhz).\n"
|
||||||
"--ifile <filename> Read data from file (use '-' for stdin).\n"
|
"--ifile <filename> Read data from file (use '-' for stdin).\n"
|
||||||
"--interactive Interactive mode refreshing data on screen.\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"
|
"--interactive-ttl <sec> Remove from list if idle for <sec> (default: 60).\n"
|
||||||
"--raw Show only messages hex values.\n"
|
"--raw Show only messages hex values.\n"
|
||||||
"--net Enable networking.\n"
|
"--net Enable networking.\n"
|
||||||
@ -2506,9 +2521,7 @@ int main(int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Setup for SIGWINCH for handling lines */
|
/* Setup for SIGWINCH for handling lines */
|
||||||
if(Modes.interactive == 1) {
|
if (Modes.interactive == 1) signal(SIGWINCH, sigWinchCallback);
|
||||||
signal(SIGWINCH, sigWinchCallback);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Initialization */
|
/* Initialization */
|
||||||
modesInit();
|
modesInit();
|
||||||
@ -2580,18 +2593,4 @@ int main(int argc, char **argv) {
|
|||||||
return 0;
|
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