Commit 8526fa97 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Pawel A. Gajda fixed resumed transfers on persistent connections

parent f85c29aa
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -2043,6 +2043,21 @@ static CURLcode Connect(struct UrlData *data,

    free(old_conn);          /* we don't need this anymore */

    /*
     * If we're doing a resumed transfer, we need to setup our stuff
     * properly.
     */
    conn->resume_from = data->set_resume_from;
    if (conn->resume_from) {
        snprintf(resumerange, sizeof(resumerange), "%d-", conn->resume_from);
        if (conn->bits.rangestringalloc == TRUE) 
            free(conn->range);
        
        /* tell ourselves to fetch this range */
        conn->range = strdup(resumerange);
        conn->bits.rangestringalloc = TRUE; /* mark range string allocated */
    }
    
    *in_connect = conn;      /* return this instead! */

    infof(data, "Re-using existing connection! (#%d)\n", conn->connectindex);