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)