Cleaned up some #ifdef spiderwebs.
This commit is contained in:
parent
c6cdf58747
commit
4fa84e6b54
49
more.c
49
more.c
@ -42,17 +42,16 @@ static const char more_usage[] = "more [FILE ...]\n"
|
|||||||
|
|
||||||
/* ED: sparc termios is broken: revert back to old termio handling. */
|
/* ED: sparc termios is broken: revert back to old termio handling. */
|
||||||
#ifdef BB_FEATURE_USE_TERMIOS
|
#ifdef BB_FEATURE_USE_TERMIOS
|
||||||
|
# if #cpu(sparc)
|
||||||
#if #cpu(sparc)
|
# include <termio.h>
|
||||||
# include <termio.h>
|
# define termios termio
|
||||||
# define termios termio
|
# define setTermSettings(fd,argp) ioctl(fd,TCSETAF,argp)
|
||||||
# define setTermSettings(fd,argp) ioctl(fd,TCSETAF,argp)
|
# define getTermSettings(fd,argp) ioctl(fd,TCGETA,argp)
|
||||||
# define getTermSettings(fd,argp) ioctl(fd,TCGETA,argp)
|
# else
|
||||||
#else
|
# include <termios.h>
|
||||||
# include <termios.h>
|
# define setTermSettings(fd,argp) tcsetattr(fd,TCSANOW,argp)
|
||||||
# define setTermSettings(fd,argp) tcsetattr(fd,TCSANOW,argp)
|
# define getTermSettings(fd,argp) tcgetattr(fd, argp);
|
||||||
# define getTermSettings(fd,argp) tcgetattr(fd, argp);
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
FILE *cin;
|
FILE *cin;
|
||||||
|
|
||||||
@ -64,24 +63,11 @@ void gotsig(int sig)
|
|||||||
fprintf(stdout, "\n");
|
fprintf(stdout, "\n");
|
||||||
exit(TRUE);
|
exit(TRUE);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BB_FEATURE_USE_TERMIOS */
|
||||||
|
|
||||||
|
|
||||||
|
static int terminal_width = 79; /* not 80 in case terminal has linefold bug */
|
||||||
#define TERMINAL_WIDTH 79 /* not 80 in case terminal has linefold bug */
|
static int terminal_height = 24;
|
||||||
#define TERMINAL_HEIGHT 24
|
|
||||||
|
|
||||||
|
|
||||||
#if defined BB_FEATURE_AUTOWIDTH
|
|
||||||
#ifdef BB_FEATURE_USE_TERMIOS
|
|
||||||
static int terminal_width = TERMINAL_WIDTH;
|
|
||||||
#endif
|
|
||||||
static int terminal_height = TERMINAL_HEIGHT;
|
|
||||||
#else
|
|
||||||
#define terminal_width TERMINAL_WIDTH
|
|
||||||
#define terminal_height TERMINAL_HEIGHT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern int more_main(int argc, char **argv)
|
extern int more_main(int argc, char **argv)
|
||||||
@ -126,13 +112,13 @@ extern int more_main(int argc, char **argv)
|
|||||||
new_settings.c_lflag &= ~ECHO;
|
new_settings.c_lflag &= ~ECHO;
|
||||||
setTermSettings(fileno(cin), &new_settings);
|
setTermSettings(fileno(cin), &new_settings);
|
||||||
|
|
||||||
#ifdef BB_FEATURE_AUTOWIDTH
|
# ifdef BB_FEATURE_AUTOWIDTH
|
||||||
ioctl(fileno(stdout), TIOCGWINSZ, &win);
|
ioctl(fileno(stdout), TIOCGWINSZ, &win);
|
||||||
if (win.ws_row > 4)
|
if (win.ws_row > 4)
|
||||||
terminal_height = win.ws_row - 2;
|
terminal_height = win.ws_row - 2;
|
||||||
if (win.ws_col > 0)
|
if (win.ws_col > 0)
|
||||||
terminal_width = win.ws_col - 1;
|
terminal_width = win.ws_col - 1;
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
(void) signal(SIGINT, gotsig);
|
(void) signal(SIGINT, gotsig);
|
||||||
(void) signal(SIGQUIT, gotsig);
|
(void) signal(SIGQUIT, gotsig);
|
||||||
@ -209,7 +195,10 @@ extern int more_main(int argc, char **argv)
|
|||||||
if (++lines == terminal_height)
|
if (++lines == terminal_height)
|
||||||
please_display_more_prompt = 1;
|
please_display_more_prompt = 1;
|
||||||
}
|
}
|
||||||
/* If any key other than a return is hit, scroll by one page */
|
/*
|
||||||
|
* If we just read a newline from the file being 'mored' and any
|
||||||
|
* key other than a return is hit, scroll by one page
|
||||||
|
*/
|
||||||
putc(c, stdout);
|
putc(c, stdout);
|
||||||
}
|
}
|
||||||
fclose(file);
|
fclose(file);
|
||||||
|
@ -42,17 +42,16 @@ static const char more_usage[] = "more [FILE ...]\n"
|
|||||||
|
|
||||||
/* ED: sparc termios is broken: revert back to old termio handling. */
|
/* ED: sparc termios is broken: revert back to old termio handling. */
|
||||||
#ifdef BB_FEATURE_USE_TERMIOS
|
#ifdef BB_FEATURE_USE_TERMIOS
|
||||||
|
# if #cpu(sparc)
|
||||||
#if #cpu(sparc)
|
# include <termio.h>
|
||||||
# include <termio.h>
|
# define termios termio
|
||||||
# define termios termio
|
# define setTermSettings(fd,argp) ioctl(fd,TCSETAF,argp)
|
||||||
# define setTermSettings(fd,argp) ioctl(fd,TCSETAF,argp)
|
# define getTermSettings(fd,argp) ioctl(fd,TCGETA,argp)
|
||||||
# define getTermSettings(fd,argp) ioctl(fd,TCGETA,argp)
|
# else
|
||||||
#else
|
# include <termios.h>
|
||||||
# include <termios.h>
|
# define setTermSettings(fd,argp) tcsetattr(fd,TCSANOW,argp)
|
||||||
# define setTermSettings(fd,argp) tcsetattr(fd,TCSANOW,argp)
|
# define getTermSettings(fd,argp) tcgetattr(fd, argp);
|
||||||
# define getTermSettings(fd,argp) tcgetattr(fd, argp);
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
FILE *cin;
|
FILE *cin;
|
||||||
|
|
||||||
@ -64,24 +63,11 @@ void gotsig(int sig)
|
|||||||
fprintf(stdout, "\n");
|
fprintf(stdout, "\n");
|
||||||
exit(TRUE);
|
exit(TRUE);
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BB_FEATURE_USE_TERMIOS */
|
||||||
|
|
||||||
|
|
||||||
|
static int terminal_width = 79; /* not 80 in case terminal has linefold bug */
|
||||||
#define TERMINAL_WIDTH 79 /* not 80 in case terminal has linefold bug */
|
static int terminal_height = 24;
|
||||||
#define TERMINAL_HEIGHT 24
|
|
||||||
|
|
||||||
|
|
||||||
#if defined BB_FEATURE_AUTOWIDTH
|
|
||||||
#ifdef BB_FEATURE_USE_TERMIOS
|
|
||||||
static int terminal_width = TERMINAL_WIDTH;
|
|
||||||
#endif
|
|
||||||
static int terminal_height = TERMINAL_HEIGHT;
|
|
||||||
#else
|
|
||||||
#define terminal_width TERMINAL_WIDTH
|
|
||||||
#define terminal_height TERMINAL_HEIGHT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern int more_main(int argc, char **argv)
|
extern int more_main(int argc, char **argv)
|
||||||
@ -126,13 +112,13 @@ extern int more_main(int argc, char **argv)
|
|||||||
new_settings.c_lflag &= ~ECHO;
|
new_settings.c_lflag &= ~ECHO;
|
||||||
setTermSettings(fileno(cin), &new_settings);
|
setTermSettings(fileno(cin), &new_settings);
|
||||||
|
|
||||||
#ifdef BB_FEATURE_AUTOWIDTH
|
# ifdef BB_FEATURE_AUTOWIDTH
|
||||||
ioctl(fileno(stdout), TIOCGWINSZ, &win);
|
ioctl(fileno(stdout), TIOCGWINSZ, &win);
|
||||||
if (win.ws_row > 4)
|
if (win.ws_row > 4)
|
||||||
terminal_height = win.ws_row - 2;
|
terminal_height = win.ws_row - 2;
|
||||||
if (win.ws_col > 0)
|
if (win.ws_col > 0)
|
||||||
terminal_width = win.ws_col - 1;
|
terminal_width = win.ws_col - 1;
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
(void) signal(SIGINT, gotsig);
|
(void) signal(SIGINT, gotsig);
|
||||||
(void) signal(SIGQUIT, gotsig);
|
(void) signal(SIGQUIT, gotsig);
|
||||||
@ -209,7 +195,10 @@ extern int more_main(int argc, char **argv)
|
|||||||
if (++lines == terminal_height)
|
if (++lines == terminal_height)
|
||||||
please_display_more_prompt = 1;
|
please_display_more_prompt = 1;
|
||||||
}
|
}
|
||||||
/* If any key other than a return is hit, scroll by one page */
|
/*
|
||||||
|
* If we just read a newline from the file being 'mored' and any
|
||||||
|
* key other than a return is hit, scroll by one page
|
||||||
|
*/
|
||||||
putc(c, stdout);
|
putc(c, stdout);
|
||||||
}
|
}
|
||||||
fclose(file);
|
fclose(file);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user