]> git.kernelconcepts.de Git - karo-tx-redboot.git/blobdiff - packages/redboot/v2_0/src/net/tcp.c
unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / redboot / v2_0 / src / net / tcp.c
index 44fde44d08542624c41decef7d6edeb4fc7064f6..a8d363962f73a3093481defca7c760825fa7c353 100644 (file)
@@ -757,7 +757,7 @@ __tcp_close_wait(tcp_socket_t *s)
  * Read up to 'len' bytes without blocking.
  */
 int
-__tcp_read(tcp_socket_t *s, char *buf, int len)
+__tcp_read(tcp_socket_t *s, void *buf, int len)
 {
     int          nread;
     pktbuf_t     *pkt;
@@ -787,7 +787,7 @@ __tcp_read(tcp_socket_t *s, char *buf, int len)
            BSPLOG(bsp_log("tcp_read: read %d bytes. pkt[%x] freed.\n",
                           s->rxcnt, s->rxlist));
            nread += s->rxcnt;
-           buf   += s->rxcnt;
+           buf   = (char *)buf + s->rxcnt;
            len   -= s->rxcnt;
 
            /* setup for next packet in list */
@@ -819,7 +819,7 @@ __tcp_read(tcp_socket_t *s, char *buf, int len)
  * Write up to 'len' bytes without blocking
  */
 int
-__tcp_write(tcp_socket_t *s, char *buf, int len)
+__tcp_write(tcp_socket_t *s, void *buf, int len)
 {
     tcp_header_t *tcp = s->pkt.tcp_hdr;
 
@@ -848,7 +848,7 @@ __tcp_write(tcp_socket_t *s, char *buf, int len)
  * If connection collapses, return -1
  */
 int
-__tcp_write_block(tcp_socket_t *s, char *buf, int len)
+__tcp_write_block(tcp_socket_t *s, void *buf, int len)
 {
     int total = 0;
     int n;
@@ -867,7 +867,8 @@ __tcp_write_block(tcp_socket_t *s, char *buf, int len)
         n = __tcp_write(s, buf, len);
         if (n > 0) {
             len -= n;
-            buf += n;
+            buf = (char *)buf + n;
+            total += n;
         }
         __tcp_poll();
     }