int main_analyze(const char *pack_path) {
char line[LINE_MAX];
- FILE *pack;
+ _cleanup_fclose_ FILE *pack = NULL;
int a;
int missing = 0;
- off_t tsize = 0;
+ size_t tsize = 0;
if (!pack_path)
pack_path = "/.readahead";
tsize += size;
- printf(" %4d%% (%2d) %12ld: %s\n",
- sections ? (int)(size / st.st_size * 100.0) : 100,
- sections ? sections : 1,
- (unsigned long)size,
- path);
+ printf(" %4jd%% (%2d) %12jd: %s\n",
+ (intmax_t) (sections && st.st_size ? size * 100 / st.st_size : 100),
+ sections ? sections : 1,
+ (intmax_t) size,
+ path);
} else {
printf(" %4dp (%2d) %12s: %s (MISSING)\n",
sections ? pages : -1,
}
- fclose(pack);
-
printf("\nHOST: %s"
"TYPE: %c\n"
"MISSING: %d\n"
- "TOTAL: %ld\n",
+ "TOTAL: %zu\n",
line,
a,
missing,
return EXIT_SUCCESS;
fail:
- fclose(pack);
return EXIT_FAILURE;
}