further work on unicodization
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/coreutils/df.c b/coreutils/df.c
index ae68f08..4b23faa 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -114,9 +114,6 @@
while (1) {
const char *device;
const char *mount_point;
-#if ENABLE_FEATURE_ASSUME_UNICODE
- size_t dev_len;
-#endif
if (mount_table) {
mount_entry = getmntent(mount_table);
@@ -178,11 +175,15 @@
#endif
#if ENABLE_FEATURE_ASSUME_UNICODE
- dev_len = unicode_strlen(device);
- if (dev_len > 20) {
- printf("%s\n%20s", device, "");
- } else {
- printf("%s%*s", device, 20 - (int)dev_len, "");
+ {
+ uni_stat_t uni_stat;
+ char *uni_dev = unicode_conv_to_printable(&uni_stat, device);
+ if (uni_stat.unicode_width > 20) {
+ printf("%s\n%20s", uni_dev, "");
+ } else {
+ printf("%s%*s", uni_dev, 20 - (int)uni_stat.unicode_width, "");
+ }
+ free(uni_dev);
}
#else
if (printf("\n%-20s" + 1, device) > 20)