From 02bca3b11f8bdbf1ff94f91e38fd8fb93eb7878b Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sun, 9 May 2010 02:04:08 +0000 Subject: [PATCH] Correct error messages when the baudrate cannot be set --- src/gsm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gsm.c b/src/gsm.c index 78bfa9c..7a6c59d 100644 --- a/src/gsm.c +++ b/src/gsm.c @@ -1236,7 +1236,7 @@ static int _gsm_trigger_csq(GSM * gsm, char const * result) /* callbacks */ /* on_reset */ -static int _reset_do(int fd, unsigned int baudrate, unsigned int hwflow); +static int _reset_do(GSM * gsm, int fd); static gboolean _reset_settle(gpointer data); static gboolean _on_reset(gpointer data) @@ -1259,7 +1259,7 @@ static gboolean _on_reset(gpointer data) gsm->channel = NULL; } if((fd = open(gsm->device, O_RDWR | O_NONBLOCK)) < 0 - || _reset_do(fd, gsm->baudrate, gsm->hwflow) != 0) + || _reset_do(gsm, fd) != 0) { snprintf(buf, sizeof(buf), "%s%s%s", gsm->device, ": ", strerror(errno)); @@ -1285,7 +1285,7 @@ static gboolean _on_reset(gpointer data) return FALSE; } -static int _reset_do(int fd, unsigned int baudrate, unsigned int hwflow) +static int _reset_do(GSM * gsm, int fd) { struct stat st; int fl; @@ -1306,7 +1306,7 @@ static int _reset_do(int fd, unsigned int baudrate, unsigned int hwflow) term.c_cflag |= CS8; term.c_cflag |= CREAD; term.c_cflag |= CLOCAL; - if(hwflow) + if(gsm->hwflow) term.c_cflag |= CRTSCTS; else term.c_cflag &= ~CRTSCTS; @@ -1316,9 +1316,9 @@ static int _reset_do(int fd, unsigned int baudrate, unsigned int hwflow) term.c_cc[VMIN] = 1; term.c_cc[VTIME] = 0; if(cfsetispeed(&term, 0) != 0) /* same speed as output speed */ - phone_error(NULL, "/dev/modem", 0); /* go on anyway */ - if(cfsetospeed(&term, baudrate) != 0) - phone_error(NULL, "/dev/modem", 0); /* go on anyway */ + phone_error(NULL, gsm->device, 0); /* go on anyway */ + if(cfsetospeed(&term, gsm->baudrate) != 0) + phone_error(NULL, gsm->device, 0); /* go on anyway */ if(tcsetattr(fd, TCSAFLUSH, &term) != 0) return 1; }