URI:
       tFix bugs due to binary operator precedence - libeech - bittorrent library
  HTML git clone git://z3bra.org/libeech.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 15d5a438034b9722da96ae6264b34dbb9641f1ba
   DIR parent fe9bdcbb5f33ca30a4e78fd4bbd4942f846049b9
  HTML Author: z3bra <contactatz3bradotorg>
       Date:   Sat, 30 Jun 2018 01:26:03 +0200
       
       Fix bugs due to binary operator precedence
       
       Diffstat:
         M libeech.c                           |       8 ++++----
       
       1 file changed, 4 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/libeech.c b/libeech.c
       t@@ -397,7 +397,7 @@ pwprecv(struct peer *p)
                while ((r = recv(p->fd, p->rxbuf, l - p->rxbufsz, 0)) > 0)
                        p->rxbufsz += r;
        
       -        if (r < 0)
       +        if (r < 0 && errno != EAGAIN)
                        return -1;
        
                return l - p->rxbufsz;
       t@@ -457,7 +457,7 @@ pwptx(struct torrent *t, struct peer *p)
                        p->state |= HANDSHAKESENT;
                }
        
       -        if (p->state & LEECHING && !(p->state & AMINTERESTED)) {
       +        if ((p->state & LEECHING) && !(p->state & AMINTERESTED)) {
                        pwpchst(p, INTERESTED);
                        p->state |= AMINTERESTED;
                }
       t@@ -552,8 +552,8 @@ netloop(struct torrent *t, int timeout)
                                pwprx(t, pfds.p[i]);
        
                        /* peer is now ready to exchange data */
       -                if (pfds.p[i]->state & HANDSHAKESENT && pfds.p[i]->state & HANDSHAKERCVD)
       -                        pfds.p[i]->state |= CONNECTED|SEEDING|LEECHING|AMCHOKING;
       +                if (pfds.p[i]->state == (HANDSHAKESENT|HANDSHAKERCVD))
       +                        pfds.p[i]->state |= (CONNECTED|SEEDING|LEECHING|AMCHOKING);
                }
        
                return npeer;