ecere/net/HTTPFile: Fixes
authorJerome St-Louis <jerome@ecere.com>
Mon, 3 Feb 2014 21:35:02 +0000 (04:35 +0700)
committerJerome St-Louis <jerome@ecere.com>
Mon, 3 Feb 2014 21:36:58 +0000 (04:36 +0700)
- Missing Disconnect() call on the socket upon reading completion
- Bad binary ANDs where logical ANDs should have been

ecere/src/net/HTTPFile.ec

index d0f3879..e90f3d8 100644 (file)
@@ -287,6 +287,8 @@ private class HTTPConnection : SSLSocket
                if(!file.chunkSize)
                {
                   file.connection.file = null;
+                  if(file.close)
+                     file.connection.Disconnect(0);
                   delete file.connection; // This decrements the file's reference
                }
             }
@@ -791,17 +793,17 @@ private:
 
    bool Seek(int pos, FileSeekMode mode)
    {
-      if(mode == start && bufferPos == 0 && pos <= bufferCount & pos >= 0)
+      if(mode == start && bufferPos == 0 && pos <= bufferCount && pos >= 0)
       {
          bufferPos = pos;
          return true;
       }
-      else if(mode == current && bufferPos == 0 && (position + pos) <= bufferCount & (position + pos) >= 0)
+      else if(mode == current && bufferPos == 0 && (position + pos) <= bufferCount && (position + pos) >= 0)
       {
          bufferPos = position + pos;
          return true;
       }
-      else if(mode == end && totalSizeSet && bufferPos == 0 && bufferCount == totalSize && (totalSize - pos) <= bufferCount & (totalSize - pos) >= 0)
+      else if(mode == end && totalSizeSet && bufferPos == 0 && bufferCount == totalSize && (totalSize - pos) <= bufferCount && (totalSize - pos) >= 0)
       {
          bufferPos = totalSize - pos;
          return true;