… | |
… | |
141 | || !IN_RANGE_EXC (y, 0, nrow)) |
141 | || !IN_RANGE_EXC (y, 0, nrow)) |
142 | return; |
142 | return; |
143 | |
143 | |
144 | for (;;) |
144 | for (;;) |
145 | { |
145 | { |
146 | const line_t &l = ROW(-view_start); |
146 | const line_t &l = ROW(y - view_start); |
147 | |
147 | |
148 | text_t t = l.t[x]; |
148 | text_t t = l.t[x]; |
149 | |
149 | |
150 | if (t != NOCHAR || !x) |
150 | if (t != NOCHAR || !x) |
151 | { |
151 | { |
… | |
… | |
1067 | if (n > 0) |
1067 | if (n > 0) |
1068 | { |
1068 | { |
1069 | cmdbuf_endp += n; |
1069 | cmdbuf_endp += n; |
1070 | return true; |
1070 | return true; |
1071 | } |
1071 | } |
1072 | else if (n < 0 && errno != EAGAIN) |
1072 | else if ((n < 0 && errno != EAGAIN && errno != EINTR) || n == 0) |
|
|
1073 | { |
|
|
1074 | pty_ev.stop (); |
|
|
1075 | |
|
|
1076 | if (!(options & Opt_hold)) |
1073 | destroy (); |
1077 | destroy (); |
|
|
1078 | } |
1074 | |
1079 | |
1075 | return false; |
1080 | return false; |
1076 | } |
1081 | } |
1077 | |
1082 | |
1078 | void |
1083 | void |
… | |
… | |
4372 | } |
4377 | } |
4373 | |
4378 | |
4374 | memmove (v_buffer, v_buffer + written, v_buflen); |
4379 | memmove (v_buffer, v_buffer + written, v_buflen); |
4375 | } |
4380 | } |
4376 | else if (written != -1 || (errno != EAGAIN && errno != EINTR)) |
4381 | else if (written != -1 || (errno != EAGAIN && errno != EINTR)) |
4377 | // original code just ignores this... |
4382 | pty_ev.set (EVENT_READ); |
4378 | destroy (); |
|
|
4379 | } |
4383 | } |
4380 | |
4384 | |
4381 | /*----------------------- end-of-file (C source) -----------------------*/ |
4385 | /*----------------------- end-of-file (C source) -----------------------*/ |
4382 | |
4386 | |