]> granicus.if.org Git - curl/commitdiff
When Content-Length:0 is received, we now bail now and return success
authorDaniel Stenberg <daniel@haxx.se>
Fri, 27 Apr 2001 18:03:44 +0000 (18:03 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 27 Apr 2001 18:03:44 +0000 (18:03 +0000)
directly after all the headers are received!

lib/transfer.c

index 805484bba51644a726bb1d379709c911993f7572..0fc57549619897a628b355551254ee6d89024d40 100644 (file)
@@ -361,6 +361,22 @@ Transfer(struct connectdata *c_conn)
                    */
                   if(data->bits.no_body)
                     return CURLE_OK;
+
+                  if(!conn->bits.close) {
+                    /* If this is not the last request before a close, we must
+                       set the maximum download size to the size of the
+                       expected document or else, we won't know when to stop
+                       reading! */
+                    if(-1 != conn->size)
+                      conn->maxdownload = conn->size;
+
+                    /* If max download size is *zero* (nothing) we already
+                       have nothing and can safely return ok now! */
+                    if(0 == conn->maxdownload)
+                      return CURLE_OK;
+                    
+                    /* What to do if the size is *not* known? */
+                  }
                   break;               /* exit header line loop */
                 }
 
@@ -583,16 +599,6 @@ Transfer(struct connectdata *c_conn)
                   } /* two valid time strings */
                 } /* we have a time condition */
 
-                if(!conn->bits.close) {
-                  /* If this is not the last request before a close, we must
-                     set the maximum download size to the size of the expected
-                     document or else, we won't know when to stop reading! */
-                  if(-1 != conn->size)
-                    conn->maxdownload = conn->size;
-
-                  /* What to do if the size is *not* known? */
-                }
-
               } /* this is HTTP */
             } /* this is the first time we write a body part */
             bodywrites++;