On 2020-07-10 14:15, Magnus Kroken wrote:
Hi Jordan
On 10.07.2020 22:45, Jordan Geoghegan wrote:
Hey folks,
Does the 'tr' utility support character classes in OpenWRT? I was
playing around with an OpenWRT x86_64 VM and I noticed that 'tr'
doesn't seem to support character classes.
The command " echo HELLO | tr '[:upper:]' '[:lower:]' " does not
convert to the text to lowercase as it should (and as required by
POSIX).
This would be expected behavior. OpenWrt disables tr character classes
in BusyBox by default, see [1]:
config BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
bool
default n
config BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
bool
default n
I don't know what the size cost in the BusyBox binary is, but that
will likely be the deciding factor for such a change.
1:
https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=package/utils/busybox/Config-defaults.in
Regards,
Magnus Kroken
Hi Magnus,
Thanks for confirming that so quickly.
I obviously understand that space saving is essential to OpenWRT, but
POSIX does require[1] that 'tr' support character classes:
:class:
Represents all characters belonging to the defined character
class, as defined by the current setting of the LC_CTYPE locale cate-
gory. The following character class names shall be accepted when
specified in string1:
alnum blank digit lower punct upper
alpha cntrl graph print space xdigit
1: https://www.unix.com/man-page/posix/1posix/tr/
Regards,
Jordan
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel