busybox: make high ASCII chars printable (#7993)
Currently busybox utils like "ls" fail to display filenames containing UTF-8 characters, replacing any special characters with "?". Change libbb's printable_string() function to allow high ASCII characters so that unicode filenames are displayed correctls. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 43084
This commit is contained in:
parent
9b1ad94f1c
commit
2ab0dae991
2 changed files with 21 additions and 1 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.22.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
PKG_FLAGS:=essential
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
--- a/libbb/printable_string.c
|
||||
+++ b/libbb/printable_string.c
|
||||
@@ -31,8 +31,6 @@ const char* FAST_FUNC printable_string(u
|
||||
}
|
||||
if (c < ' ')
|
||||
break;
|
||||
- if (c >= 0x7f)
|
||||
- break;
|
||||
s++;
|
||||
}
|
||||
|
||||
@@ -45,7 +43,7 @@ const char* FAST_FUNC printable_string(u
|
||||
unsigned char c = *d;
|
||||
if (c == '\0')
|
||||
break;
|
||||
- if (c < ' ' || c >= 0x7f)
|
||||
+ if (c < ' ')
|
||||
*d = '?';
|
||||
d++;
|
||||
}
|
Loading…
Reference in a new issue