move bytes2human in occtl.c to allow compilation without libnl

This commit is contained in:
Nikos Mavrogiannopoulos
2014-03-09 21:31:44 +01:00
parent 28e64c4eec
commit 6c331db70a
2 changed files with 27 additions and 26 deletions

View File

@@ -765,6 +765,33 @@ int print_list_entries(FILE* out, const char* name, DBusMessageIter * subs)
return i;
}
void
bytes2human(unsigned long bytes, char* output, unsigned output_size, const char* suffix)
{
double data;
if (suffix == NULL)
suffix = "";
if (bytes > 1000 && bytes < 1000 * 1000) {
data = ((double) bytes) / 1000;
snprintf(output, output_size, "%.1f KB%s", data, suffix);
return;
} else if (bytes >= 1000 * 1000 && bytes < 1000 * 1000 * 1000) {
data = ((double) bytes) / (1000 * 1000);
snprintf(output, output_size, "%.1f MB%s", data, suffix);
return;
} else if (bytes >= 1000 * 1000 * 1000) {
data = ((double) bytes) / (1000 * 1000 * 1000);
snprintf(output, output_size, "%.1f GB%s", data, suffix);
return;
} else {
snprintf(output, output_size, "%lu bytes%s", bytes, suffix);
return;
}
}
int common_info_cmd(DBusMessageIter * args)
{
DBusMessageIter suba, subs;