summaryrefslogtreecommitdiffhomepage
path: root/networking/slattach.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/slattach.c')
-rw-r--r--networking/slattach.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/networking/slattach.c b/networking/slattach.c
index 3495df598..1a4423b72 100644
--- a/networking/slattach.c
+++ b/networking/slattach.c
@@ -50,8 +50,7 @@ static void save_state(void)
bb_perror_msg_and_die("get state");
/* Save line discipline */
- if (ioctl(handle, TIOCGETD, &saved_disc) < 0)
- bb_perror_msg_and_die("get discipline");
+ xioctl(handle, TIOCGETD, &saved_disc);
}
static int set_termios_state_and_warn(struct termios *state)
@@ -81,8 +80,7 @@ static void restore_state_and_exit(int exitcode)
struct termios state;
/* Restore line discipline */
- if (ioctl(handle, TIOCSETD, &saved_disc) < 0) {
- bb_perror_msg("set discipline");
+ if (ioctl_or_warn(handle, TIOCSETD, &saved_disc) < 0) {
exitcode = 1;
}
@@ -115,14 +113,12 @@ static void set_state(struct termios *state, int encap)
goto bad;
/* Set line discliple (N_SLIP always) */
disc = N_SLIP;
- if (ioctl(handle, TIOCSETD, &disc) < 0) {
- bb_perror_msg("set discipline");
+ if (ioctl_or_warn(handle, TIOCSETD, &disc) < 0) {
goto bad;
}
/* Set encapsulation (SLIP, CSLIP, etc) */
- if (ioctl(handle, SIOCSIFENCAP, &encap) < 0) {
- bb_perror_msg("set encapsulation");
+ if (ioctl_or_warn(handle, SIOCSIFENCAP, &encap) < 0) {
bad:
restore_state_and_exit(1);
}