- char formated_dir_count[FORMATED_VALUE_SIZE],
- formated_file_count[FORMATED_VALUE_SIZE],
- formated_bytes[FORMATED_VALUE_SIZE ];
-
- format_count_value(select_conf.count_unit_arg, ui->dirs,
- select_conf.count_unit_arg == count_unit_arg_h,
- formated_dir_count);
- format_count_value(select_conf.count_unit_arg, ui->files,
- select_conf.count_unit_arg == count_unit_arg_h,
- formated_file_count);
- format_size_value(select_conf.size_unit_arg, ui->bytes,
- select_conf.size_unit_arg == size_unit_arg_h,
- formated_bytes);
- return output("\t%s\t%u\t%s\t%s\t%s\n",
- ui->pw_name? ui->pw_name : "?",
- (unsigned)ui->uid,
- formated_dir_count,
- formated_file_count,
- formated_bytes
- );
+ struct format_info *fi = data;
+ union atom_value values[] = {
+ [usa_pw_name] = {.string_value = ui->pw_name?
+ ui->pw_name : "?"},
+ [usa_uid] = {.num_value = (long long unsigned)ui->uid},
+ [usa_dirs] = {.num_value = (long long unsigned)ui->dirs},
+ [usa_files] = {.num_value = (long long unsigned)ui->files},
+ [usa_size] = {.num_value = (long long unsigned)ui->bytes}
+ };
+ char *buf = format_items(fi, values);
+ return output("%s", buf);