return err;
}
-struct _curl_cb_data {
- opkg_progress_callback_t cb;
- opkg_progress_data_t *progress_data;
- void *user_data;
- int start_range;
- int finish_range;
-};
-
-int curl_progress_cb(struct _curl_cb_data *cb_data, double t, /* dltotal */
- double d, /* dlnow */
- double ultotal, double ulnow)
-{
- int p = (t) ? d * 100 / t : 0;
- static int prev = -1;
- int progress = 0;
-
- /* prevent the same value being sent twice (can occur due to rounding) */
- if (p == prev)
- return 0;
- prev = p;
-
- if (t < 1)
- return 0;
-
- progress = cb_data->start_range +
- (d / t * ((cb_data->finish_range - cb_data->start_range)));
- cb_data->progress_data->percentage = progress;
-
- (cb_data->cb) (cb_data->progress_data, cb_data->user_data);
-
- return 0;
-}
-
static struct opkg_conf saved_conf;
/*** Public API ***/
opkg_progress_data_t pdata;
pkg_t *old, *new;
pkg_vec_t *deps, *all;
- int i, ndepends;
+ int i;
char **unresolved = NULL;
const char *filename;
/* find dependancies and download them */
deps = pkg_vec_alloc();
/* this function does not return the original package, so we insert it later */
- ndepends = pkg_hash_fetch_unsatisfied_dependencies(new, deps,
- &unresolved);
+ pkg_hash_fetch_unsatisfied_dependencies(new, deps, &unresolved);
if (unresolved) {
char **tmp = unresolved;
opkg_msg(ERROR, "Couldn't satisfy the following dependencies"
/* download package and dependencies */
for (i = 0; i < deps->len; i++) {
pkg_t *pkg;
- struct _curl_cb_data cb_data;
char *url;
pkg = deps->pkgs[i];
pkg_set_string(pkg, PKG_LOCAL_FILENAME, local_filename);
- cb_data.cb = progress_callback;
- cb_data.progress_data = &pdata;
- cb_data.user_data = user_data;
- /* 75% of "install" progress is for downloading */
- cb_data.start_range = 75 * i / deps->len;
- cb_data.finish_range = 75 * (i + 1) / deps->len;
-
- err = opkg_download(url, local_filename,
- (curl_progress_func) curl_progress_cb,
- &cb_data, 0);
+ err = opkg_download(url, local_filename, 0);
free(url);
if (err) {
sprintf_alloc(&list_file_name, "%s/%s", lists_dir, src->name);
- if (opkg_download(url, list_file_name, NULL, NULL, 0)) {
+ if (opkg_download(url, list_file_name, 0)) {
opkg_msg(ERROR, "Couldn't retrieve %s\n", url);
result = -1;
}
/* make sure there is no existing signature file */
unlink(sig_file_name);
- err = opkg_download(url, sig_file_name, NULL, NULL, 0);
+ err = opkg_download(url, sig_file_name, 0);
if (err) {
opkg_msg(ERROR, "Couldn't retrieve %s\n", url);
} else {
iter1 = str_list_pop(src);
repositories--;
- if (opkg_download(iter1->data, "/dev/null", NULL, NULL, 0))
+ if (opkg_download(iter1->data, "/dev/null", 0))
ret++;
str_list_elt_deinit(iter1);
}