Change zck_range_get_char to not output header beginning
authorJonathan Dieter <jdieter@gmail.com>
Thu, 10 May 2018 11:41:55 +0000 (14:41 +0300)
committerJonathan Dieter <jdieter@gmail.com>
Thu, 10 May 2018 11:41:55 +0000 (14:41 +0300)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
src/lib/dl/dl.c
src/lib/dl/range.c

index 77cf78166b46a120ff03f3863ef560995cae8d6c..acbbd9e1c84cd1b0e22b9e82b2528d74c1c319f7 100644 (file)
@@ -319,24 +319,19 @@ int zck_dl_range_chk_chunk(zckDL *dl, char *url, int is_chunk) {
     CURLcode res;
 
     for(int i=0; i<dl->info.segments; i++) {
-        struct curl_slist *header = NULL;
-
         if(dl->priv->dl_regex != NULL)
             zck_dl_free_dl_regex(dl);
         if(dl->boundary != NULL)
             free(dl->boundary);
 
-        zck_log(ZCK_LOG_DEBUG, "%s\n", ra[i]);
-        header = curl_slist_append(header, ra[i]);
         curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_URL, url);
         curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_FOLLOWLOCATION, 1L);
         curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_HEADERFUNCTION, get_header);
         curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_HEADERDATA, dl);
         curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_WRITEFUNCTION, dl_write_data);
         curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_WRITEDATA, dl);
-        curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_HTTPHEADER, header);
+        curl_easy_setopt(dl->priv->curl_ctx, CURLOPT_RANGE, ra[i]);
         res = curl_easy_perform(dl->priv->curl_ctx);
-        curl_slist_free_all(header);
         free(ra[i]);
 
         if(res != CURLE_OK) {
index 3aef9094ef2f06c99e7973e1707a18660e18512a..6580be1a30fe3b669e15d5e3e5ad0cd680ff4d70 100644 (file)
@@ -188,13 +188,8 @@ char *zck_range_get_char(zckRangeItem **range, int max_ranges) {
         return NULL;
     }
 
-    if(snprintf(output, 20, "Range: bytes=") > 20) {
-        free(output);
-        zck_log(ZCK_LOG_ERROR, "Error writing range\n");
-        return NULL;
-    }
-    int loc = strlen(output);
-    int count=0;
+    int loc = 0;
+    int count = 0;
     while(*range) {
         int length = snprintf(output+loc, buf_size-loc, "%lu-%lu,",
                               (long unsigned)(*range)->start,