From 63dd1f93c345887aea9425f7510778893cf825f6 Mon Sep 17 00:00:00 2001
From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Date: Fri, 31 Jan 2014 01:08:28 +0900
Subject: [PATCH 2/2] http2_recv: Return written length on CURLE_AGAIN

---
 lib/http2.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/http2.c b/lib/http2.c
index 23bbc08..2230e3c 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -371,8 +371,11 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
     rc = Curl_read_plain(conn->sock[FIRSTSOCKET], inbuf, inbuflen, &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");
-- 
1.8.4.2

