diff options
author | Tomas Heinrich <heinrich.tomas@gmail.com> | 2010-03-26 09:40:47 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-03-26 09:40:47 +0100 |
commit | 1abc07dcca237e6b5c98fea740e59d59c801c9e2 (patch) | |
tree | bff281c1accc3877310fe09836e7ee0ad071f037 /coreutils | |
parent | 7724c766bdfba5f3af5cdf5d869bcf03f45149e3 (diff) | |
download | busybox-w32-1abc07dcca237e6b5c98fea740e59d59c801c9e2.tar.gz busybox-w32-1abc07dcca237e6b5c98fea740e59d59c801c9e2.tar.bz2 busybox-w32-1abc07dcca237e6b5c98fea740e59d59c801c9e2.zip |
[un]expand: account for different character widths. +16 bytes.
Signed-off-by: Tomas Heinrich <heinrich.tomas@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/expand.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/coreutils/expand.c b/coreutils/expand.c index 2f6a708b5..60ac9f568 100644 --- a/coreutils/expand.c +++ b/coreutils/expand.c | |||
@@ -49,7 +49,11 @@ static void expand(FILE *file, unsigned tab_size, unsigned opt) | |||
49 | unsigned len; | 49 | unsigned len; |
50 | *ptr = '\0'; | 50 | *ptr = '\0'; |
51 | # if ENABLE_FEATURE_ASSUME_UNICODE | 51 | # if ENABLE_FEATURE_ASSUME_UNICODE |
52 | len = unicode_strlen(ptr_strbeg); | 52 | { |
53 | uni_stat_t uni_stat; | ||
54 | printable_string(&uni_stat, ptr_strbeg); | ||
55 | len = uni_stat.unicode_width; | ||
56 | } | ||
53 | # else | 57 | # else |
54 | len = ptr - ptr_strbeg; | 58 | len = ptr - ptr_strbeg; |
55 | # endif | 59 | # endif |
@@ -103,9 +107,11 @@ static void unexpand(FILE *file, unsigned tab_size, unsigned opt) | |||
103 | # if ENABLE_FEATURE_ASSUME_UNICODE | 107 | # if ENABLE_FEATURE_ASSUME_UNICODE |
104 | { | 108 | { |
105 | char c; | 109 | char c; |
110 | uni_stat_t uni_stat; | ||
106 | c = ptr[n]; | 111 | c = ptr[n]; |
107 | ptr[n] = '\0'; | 112 | ptr[n] = '\0'; |
108 | len = unicode_strlen(ptr); | 113 | printable_string(&uni_stat, ptr); |
114 | len = uni_stat.unicode_width; | ||
109 | ptr[n] = c; | 115 | ptr[n] = c; |
110 | } | 116 | } |
111 | # else | 117 | # else |