cURL / Mailing Lists / curl-library / Single Mail


Problems with site-download

From: Peter Staab <>
Date: Sat, 3 Sep 2005 12:47:02 +0200 (MEST)


I use the two functions below to download websites into a char*. Everything
works fine for many sites but sometimes, e.g. when a €-sign (EURO-Sign) or
some other special character occurs, the download cancels before this sign
(without a error) and I only get the website's content til this position.

Where could the bug be?

Thank you,

struct memory{
                char *content;
                long size;

void IThread::loadData(char *loc)
        CURL *curl;
        CURLcode res;

        curl = curl_easy_init();
        if(curl) {
                curl_easy_setopt(curl, CURLOPT_URL, loc);
                curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1);
                curl_easy_setopt(curl, CURLOPT_TIMEOUT, params->timeout);
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, IThread::parse_data);
                curl_easy_setopt(curl, CURLOPT_FILE, (void *)&xml);


                xmli = &xml;


int IThread::parse_data(void *ptr, int size, int nmemb, void *data) {
        register int realsize = size * nmemb;
        struct memory *mem = (struct memory *)data;
        mem->content = (char *)realloc(mem->content, mem->size + realsize + 1);

        if (mem->content) {
                memcpy(&(mem->content[mem->size]), ptr, realsize);
                mem->size += realsize;
                mem->content[mem->size] = 0;

        return realsize;

Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
Satte Provisionen für GMX Partner:
Received on 2005-09-03