Oops! Reference to write_n() removed and changed into neat write() call.
[tinc] / src / net.c
index 564bce2..147b399 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -109,27 +109,6 @@ cp
   return 0;
 }
 
-/*
-  write as many bytes as possible to the tap
-  device, possibly in multiple turns.
-*/
-int write_n(int fd, void *buf, size_t len)
-{
-  int r, done = 0;
-cp  
-  do
-    {
-      if((r = write(fd, buf, len)) < 0)
-       return -1;
-      len -= r;
-      buf += r;
-      done += r;
-    } while(len > 0);
-
-  return done;
-cp
-}
-
 int xrecv(conn_list_t *cl, void *packet)
 {
   vpn_packet_t vp;
@@ -138,7 +117,7 @@ cp
   do_decrypt((real_packet_t*)packet, &vp, cl->key);
   add_mac_addresses(&vp);
 
-  if((lenin = write_n(tap_fd, &vp, vp.len + 2)) < 0)
+  if((lenin = write(tap_fd, &vp, vp.len + sizeof(vp.len))) < 0)
     syslog(LOG_ERR, "Can't write to tap device: %m");
   else
     total_tap_out += lenin;