Make local_terminal a member variable

This commit is contained in:
Keith Winstein
2011-09-30 13:32:09 -04:00
parent e817d05b22
commit 3bc3b6f6e1
2 changed files with 9 additions and 3 deletions
+3 -3
View File
@@ -100,15 +100,15 @@ void STMClient::main_init( void )
} }
/* local state */ /* local state */
Terminal::Complete terminal( window_size.ws_col, window_size.ws_row ); local_terminal = new Terminal::Complete( window_size.ws_col, window_size.ws_row );
/* initialize screen */ /* initialize screen */
string init = Terminal::Display::new_frame( false, terminal.get_fb(), terminal.get_fb() ); string init = Terminal::Display::new_frame( false, local_terminal->get_fb(), local_terminal->get_fb() );
swrite( STDOUT_FILENO, init.data(), init.size() ); swrite( STDOUT_FILENO, init.data(), init.size() );
/* open network */ /* open network */
Network::UserStream blank; Network::UserStream blank;
network = new Network::Transport< Network::UserStream, Terminal::Complete >( blank, terminal, network = new Network::Transport< Network::UserStream, Terminal::Complete >( blank, *local_terminal,
key.c_str(), ip.c_str(), port ); key.c_str(), ip.c_str(), port );
/* tell server the size of the terminal */ /* tell server the size of the terminal */
+6
View File
@@ -20,6 +20,7 @@ private:
int winch_fd, shutdown_signal_fd; int winch_fd, shutdown_signal_fd;
struct winsize window_size; struct winsize window_size;
Terminal::Complete *local_terminal;
Network::Transport< Network::UserStream, Terminal::Complete > *network; Network::Transport< Network::UserStream, Terminal::Complete > *network;
uint64_t last_remote_num; uint64_t last_remote_num;
@@ -34,6 +35,7 @@ public:
saved_termios(), raw_termios(), saved_termios(), raw_termios(),
winch_fd(), shutdown_signal_fd(), winch_fd(), shutdown_signal_fd(),
window_size(), window_size(),
local_terminal( NULL ),
network( NULL ), network( NULL ),
last_remote_num( -1 ) last_remote_num( -1 )
{} {}
@@ -44,6 +46,10 @@ public:
~STMClient() ~STMClient()
{ {
if ( local_terminal != NULL ) {
delete local_terminal;
}
if ( network != NULL ) { if ( network != NULL ) {
delete network; delete network;
} }