X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=anykey.c;h=7c801f1ce8b8bb6dbb3983346ff264330c8e1ab3;hb=a5396d7bf2d01964b77d714cfcfbcacc641be92a;hp=f11b0d7b031a4a3f94deefad037c861f828cdfc7;hpb=20fb52e08416238c60392b410f69856cc7d98650;p=sigrok-cli.git
diff --git a/anykey.c b/anykey.c
index f11b0d7..7c801f1 100644
--- a/anykey.c
+++ b/anykey.c
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-#include "sigrok-cli.h"
+#include
#include
#ifdef _WIN32
#include
@@ -27,6 +27,7 @@
#include
#include
#include
+#include "sigrok-cli.h"
#ifdef _WIN32
static HANDLE stdin_handle;
@@ -37,18 +38,20 @@ 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 +70,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.");
}