aboutsummaryrefslogtreecommitdiff
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)
50 bb_perror_msg_and_die("get state"); 50 bb_perror_msg_and_die("get state");
51 51
52 /* Save line discipline */ 52 /* Save line discipline */
53 if (ioctl(handle, TIOCGETD, &saved_disc) < 0) 53 xioctl(handle, TIOCGETD, &saved_disc);
54 bb_perror_msg_and_die("get discipline");
55} 54}
56 55
57static int set_termios_state_and_warn(struct termios *state) 56static int set_termios_state_and_warn(struct termios *state)
@@ -81,8 +80,7 @@ static void restore_state_and_exit(int exitcode)
81 struct termios state; 80 struct termios state;
82 81
83 /* Restore line discipline */ 82 /* Restore line discipline */
84 if (ioctl(handle, TIOCSETD, &saved_disc) < 0) { 83 if (ioctl_or_warn(handle, TIOCSETD, &saved_disc) < 0) {
85 bb_perror_msg("set discipline");
86 exitcode = 1; 84 exitcode = 1;
87 } 85 }
88 86
@@ -115,14 +113,12 @@ static void set_state(struct termios *state, int encap)
115 goto bad; 113 goto bad;
116 /* Set line discliple (N_SLIP always) */ 114 /* Set line discliple (N_SLIP always) */
117 disc = N_SLIP; 115 disc = N_SLIP;
118 if (ioctl(handle, TIOCSETD, &disc) < 0) { 116 if (ioctl_or_warn(handle, TIOCSETD, &disc) < 0) {
119 bb_perror_msg("set discipline");
120 goto bad; 117 goto bad;
121 } 118 }
122 119
123 /* Set encapsulation (SLIP, CSLIP, etc) */ 120 /* Set encapsulation (SLIP, CSLIP, etc) */
124 if (ioctl(handle, SIOCSIFENCAP, &encap) < 0) { 121 if (ioctl_or_warn(handle, SIOCSIFENCAP, &encap) < 0) {
125 bb_perror_msg("set encapsulation");
126 bad: 122 bad:
127 restore_state_and_exit(1); 123 restore_state_and_exit(1);
128 } 124 }