http2_recv: Return written length on CURLE_AGAIN
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Thu, 30 Jan 2014 16:49:35 +0000 (17:49 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 30 Jan 2014 16:49:35 +0000 (17:49 +0100)
lib/http2.c

index 214b469..0195185 100644 (file)
@@ -372,8 +372,11 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
     rc = Curl_read_plain(conn->sock[FIRSTSOCKET], inbuf, H2_BUFSIZE, &nread);
 
     if(rc == CURLE_AGAIN) {
-      *err = rc;
-      return -1;
+      if(len == conn->proto.httpc.len) {
+        *err = rc;
+        return 0;
+      }
+      return len - conn->proto.httpc.len;
     }
     if(rc) {
       failf(conn->data, "Failed receiving HTTP2 data");