mirror of https://github.com/tstack/lnav
build work
parent
2713f3564e
commit
4f13115dce
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
#ifndef __termios_guard_hh
|
||||||
|
#define __termios_guard_hh
|
||||||
|
|
||||||
|
class guard_termios {
|
||||||
|
public:
|
||||||
|
guard_termios(int fd) : gt_fd(fd) {
|
||||||
|
|
||||||
|
if (isatty(this->gt_fd) &&
|
||||||
|
tcgetattr(this->gt_fd, &this->gt_termios) == -1) {
|
||||||
|
perror("tcgetattr");
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
~guard_termios() {
|
||||||
|
if (isatty(this->gt_fd) &&
|
||||||
|
tcsetattr(this->gt_fd, TCSANOW, &this->gt_termios) == -1) {
|
||||||
|
perror("tcsetattr");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private:
|
||||||
|
int gt_fd;
|
||||||
|
struct termios gt_termios;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue