item = malloc(sizeof(struct daily_download_total));
memcpy(item, total, sizeof(struct daily_download_total));
- result = (struct daily_download_total **)
- list_add((void **)totals, (void *)item);
+ result = (struct daily_download_total **)list_add((void **)totals,
+ (void *)item);
free(totals);
struct daily_download_total **add_totals
(struct daily_download_total **total1, struct daily_download_total **total2)
{
- struct daily_download_total **cur;
- struct daily_download_total **result;
+ struct daily_download_total **cur, **result;
result = total1;
cur = total2;
while (*cur) {
result = add_total(result, *cur);
-
cur++;
}
if (!pkg_distro) {
pkg_distro = distro_stats_new(distro_name);
- tmp
- = (struct distro_stats **)
- list_add((void **)pkg->distros, (void *)pkg_distro);
+ tmp = (struct distro_stats **)list_add((void **)pkg->distros,
+ (void *)pkg_distro);
free(pkg->distros);
pkg->distros = tmp;
}
free(distro);
}
+static void distro_stats_list_free(struct distro_stats **distros)
+{
+ if (distros) {
+ while (*distros) {
+ distro_stats_free(*distros);
+ distros++;
+ }
+ }
+}
+
static void version_stats_free(struct version_stats *version)
{
struct distro_stats **distros;
}
free(package->versions);
}
-
+ distro_stats_list_free(package->distros);
free(package->name);
free(package);
}