SIGWINCH patch code style conformed to dump1090.

This commit is contained in:
antirez
2013-12-14 20:20:53 +01:00
parent f18180fef4
commit 38ed7698b3

View File

@ -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;
}