X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fcommon%2Fserial.c;h=5a1d21af90c4cbebc9a593847f7b0fe1634c51e2;hb=0c632d36be4b7b34addadf0649fea95173fe0f9a;hp=9bf0c18406a091b8da7e9f5312d9a96c8c8024a5;hpb=b19f4622b6a1d21b00bd93d99e10bb4565ed7af0;p=libsigrok.git diff --git a/hardware/common/serial.c b/hardware/common/serial.c index 9bf0c184..5a1d21af 100644 --- a/hardware/common/serial.c +++ b/hardware/common/serial.c @@ -126,6 +126,8 @@ SR_PRIV int serial_open(const char *pathname, int flags) */ sr_dbg("Error opening serial port '%s': %s.", pathname, strerror(errno)); + } else { + sr_dbg("Opened serial port '%s' as FD %d.", pathname, fd); } return fd; @@ -281,7 +283,7 @@ SR_PRIV void *serial_backup_params(int fd) /* Returns 0 upon success, -1 upon failure. */ if (tcgetattr(fd, term) < 0) { sr_err("FD %d: Error getting serial parameters: %s.", - strerror(errno)); + fd, strerror(errno)); g_free(term); return NULL; } @@ -303,6 +305,11 @@ SR_PRIV int serial_restore_params(int fd, void *backup) { sr_dbg("FD %d: Restoring serial parameters from backup.", fd); + if (!backup) { + sr_err("FD %d: Cannot restore serial params (NULL).", fd); + return -1; + } + #ifdef _WIN32 /* TODO */ #else @@ -311,7 +318,7 @@ SR_PRIV int serial_restore_params(int fd, void *backup) /* Returns 0 upon success, -1 upon failure. */ if ((ret = tcsetattr(fd, TCSADRAIN, (struct termios *)backup)) < 0) { sr_err("FD %d: Error restoring serial parameters: %s.", - strerror(errno)); + fd, strerror(errno)); } return ret; @@ -384,7 +391,7 @@ SR_PRIV int serial_set_params(int fd, int baudrate, int bits, int parity, sr_dbg("FD %d: Getting terminal settings.", fd); if (tcgetattr(fd, &term) < 0) { - sr_err("tcgetattr() error: %ѕ.", strerror(errno)); + sr_err("tcgetattr() error: %s.", strerror(errno)); return SR_ERR; }