summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gatchat/gattty.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gatchat/gattty.c b/gatchat/gattty.c
index e1dfe241..30d94446 100644
--- a/gatchat/gattty.c
+++ b/gatchat/gattty.c
@@ -89,6 +89,18 @@ static gboolean set_baud(const char *baud, struct termios *ti)
return TRUE;
}
+static gboolean set_read(const char *bits, struct termios *ti)
+{
+ if (g_str_equal(bits, "off"))
+ ti->c_cflag &= ~(CREAD);
+ else if (g_str_equal(bits, "on"))
+ ti->c_cflag |= CREAD;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
static gboolean set_stop_bits(const char *bits, struct termios *ti)
{
if (g_str_equal(bits, "1"))
@@ -202,6 +214,8 @@ static int open_device(const char *tty, GHashTable *options)
ok = set_rtscts(value, &ti);
else if (g_str_equal(key, "local"))
ok = set_local(value, &ti);
+ else if (g_str_equal(key, "read"))
+ ok = set_read(value, &ti);
if (ok == FALSE)
return -1;