X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=anykey.c;h=4126518e8a0801dc3700bdc3c0e86582668b47fd;hp=f11b0d7b031a4a3f94deefad037c861f828cdfc7;hb=7c6a0420448760fc138cbe38579a5c9e0a46132c;hpb=20fb52e08416238c60392b410f69856cc7d98650 diff --git a/anykey.c b/anykey.c index f11b0d7..4126518 100644 --- a/anykey.c +++ b/anykey.c @@ -37,18 +37,19 @@ static struct termios term_orig; static int received_anykey(int fd, int revents, void *cb_data) { + struct sr_session *session; (void)fd; (void)revents; - (void)cb_data; - sr_session_source_remove(STDIN_FILENO); - sr_session_stop(); + session = cb_data; + sr_session_source_remove(session, STDIN_FILENO); + sr_session_stop(session); return TRUE; } /* Turn off buffering on stdin. */ -void add_anykey(void) +void add_anykey(struct sr_session *session) { #ifdef _WIN32 stdin_handle = GetStdHandle(STD_INPUT_HANDLE); @@ -67,7 +68,8 @@ void add_anykey(void) tcsetattr(STDIN_FILENO, TCSADRAIN, &term); #endif - sr_session_source_add(STDIN_FILENO, G_IO_IN, -1, received_anykey, NULL); + sr_session_source_add(session, STDIN_FILENO, G_IO_IN, -1, + received_anykey, session); g_message("Press any key to stop acquisition."); }