comparison src/common.c @ 9:640f620a55cf V2.1.3

Bugfixes for floating remote and debian upgrade
author Ivo Smits <Ivo@UCIS.nl>
date Wed, 20 Oct 2010 21:08:03 +0200
parents 6d86596d8884
children e4b60d041491
comparison
equal deleted inserted replaced
8:6d86596d8884 9:640f620a55cf
204 int len = poll(fds, 2, -1); 204 int len = poll(fds, 2, -1);
205 if (len < 0) return errorexitp("poll error"); 205 if (len < 0) return errorexitp("poll error");
206 else if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) return errorexit("poll error on tap device"); 206 else if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) return errorexit("poll error on tap device");
207 else if (fds[1].revents & (POLLHUP | POLLNVAL)) return errorexit("poll error on udp socket"); 207 else if (fds[1].revents & (POLLHUP | POLLNVAL)) return errorexit("poll error on udp socket");
208 if (fds[0].revents & POLLIN) { 208 if (fds[0].revents & POLLIN) {
209 len = read(ttfd, buffer_raw + p->offset_raw, p->buffersize_raw);
209 if (session.remote_float == 0 || session.remote_float == 2) { 210 if (session.remote_float == 0 || session.remote_float == 2) {
210 len = read(ttfd, buffer_raw + p->offset_raw, p->buffersize_raw);
211 len = p->encode(&session, buffer_raw, buffer_enc, len); 211 len = p->encode(&session, buffer_raw, buffer_enc, len);
212 if (len < 0) return len; 212 if (len < 0) return len;
213 if (session.remote_float == 0) { 213 if (session.remote_float == 0) {
214 write(sfd, buffer_enc + p->offset_enc, len); 214 write(sfd, buffer_enc + p->offset_enc, len);
215 } else { 215 } else {