Skip to content

Commit dcff897

Browse files
authored
add ioctl() error handling (#51)
Co-authored-by: Michael Czigler <[email protected]>
1 parent a5e89e6 commit dcff897

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

kirc.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#define MSG_MAX 512 /* max message length */
1919
#define CHA_MAX 200 /* max channel length */
2020

21-
static unsigned short cmax; /* max printed line chars */
2221
static int conn; /* connection socket */
2322
static char chan_default[MSG_MAX]; /* default PRIVMSG channel */
2423
static int verb = 0; /* verbose output */
@@ -119,6 +118,14 @@ connection_initialize(void) {
119118
static void
120119
message_wrap(char *line, size_t offset) {
121120

121+
struct winsize window_dims;
122+
123+
if (ioctl(0, TIOCGWINSZ, &window_dims) < 0) {
124+
perror("ioctrl");
125+
exit(EXIT_FAILURE);
126+
}
127+
128+
unsigned short cmax = window_dims.ws_col;
122129
char *tok;
123130
size_t wordwidth, spaceleft = cmax - gutl - offset, spacewidth = 1;
124131

@@ -318,8 +325,6 @@ main(int argc, char **argv) {
318325
if (pass) raw("PASS %s\r\n", pass);
319326
if (inic) raw("%s\r\n", inic);
320327

321-
struct winsize window_dims;
322-
323328
struct pollfd fds[2];
324329
fds[0].fd = STDIN_FILENO;
325330
fds[1].fd = conn;
@@ -333,8 +338,6 @@ main(int argc, char **argv) {
333338
handle_user_input();
334339
}
335340
if (fds[1].revents & POLLIN && (keyboard_hit() < 1)) {
336-
ioctl(0, TIOCGWINSZ, &window_dims);
337-
cmax = window_dims.ws_col;
338341
int rc = handle_server_message();
339342
if (rc != 0) {
340343
if (rc == -2) return EXIT_FAILURE;

0 commit comments

Comments
 (0)