#endif
int
-curl_progress_func (void* data,
- double t, /* dltotal */
- double d, /* dlnow */
- double ultotal,
- double ulnow)
+curl_progress_func (char* url,
+ double t, /* dltotal */
+ double d, /* dlnow */
+ double ultotal,
+ double ulnow)
{
int i;
int p = d*100/t;
-#ifdef LIBOPKG
+#ifdef OPKG_LIB
if (opkg_cb_download_progress)
{
- opkg_cb_download_progress (p);
+ opkg_cb_download_progress (p, url);
return 0;
}
#endif
{
curl_easy_setopt (curl, CURLOPT_URL, src);
curl_easy_setopt (curl, CURLOPT_WRITEDATA, file);
- curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);
+ curl_easy_setopt (curl, CURLOPT_NOPROGRESS, 0);
+ curl_easy_setopt (curl, CURLOPT_PROGRESSDATA, src);
curl_easy_setopt (curl, CURLOPT_PROGRESSFUNCTION, curl_progress_func);
+ if (conf->http_proxy || conf->ftp_proxy)
+ {
+ char *userpwd;
+ sprintf_alloc (&userpwd, "%s:%s", conf->proxy_user,
+ conf->proxy_passwd);
+ curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, userpwd);
+ free (userpwd);
+ }
res = curl_easy_perform (curl);
curl_easy_cleanup (curl);
fclose (file);