diff options
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/cal.c | 2 | ||||
-rw-r--r-- | coreutils/df.c | 17 |
2 files changed, 10 insertions, 9 deletions
diff --git a/coreutils/cal.c b/coreutils/cal.c index 5ecb9131d..207fa967b 100644 --- a/coreutils/cal.c +++ b/coreutils/cal.c @@ -135,7 +135,7 @@ int cal_main(int argc UNUSED_PARAM, char **argv) if (julian) *hp++ = ' '; { - char *two_wchars = unicode_cut_nchars(2, buf); + char *two_wchars = unicode_conv_to_printable_fixedwidth(NULL, buf, 2); strcpy(hp, two_wchars); free(two_wchars); } diff --git a/coreutils/df.c b/coreutils/df.c index ae68f0831..4b23faa7a 100644 --- a/coreutils/df.c +++ b/coreutils/df.c @@ -114,9 +114,6 @@ int df_main(int argc UNUSED_PARAM, char **argv) 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 @@ int df_main(int argc UNUSED_PARAM, char **argv) #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) |